目录
基于SSH做远程访问,可以使用ftp服务的相关指令sftp [email protected]
SSH(Secure Shell)安全外壳协议,SSH是用来替代常见的不安全的网络应用的协议。比如Telnet、FTP,他们都是基于明文传输的协议,所以很不安全。Openssh提供基于用户的身份验证,而且能够通过端口隧道转发不安全协议,在隧道里面,数据都是被加密的。
SSH验证:
- password (sent securely)
- RSA and DSA keys (公私钥验证)
- Kerberos
- s/key and SecureID(OTP)
相关联的RPM包:openssh(底层包) 、 openssh-clients 、 openssh-server
服务器端安装: yum install openssh-server (安装了openssh-server会自动安装openssh)
客户端安装: yum install openssh-clients (安装了openssh-clients 会自动安装openssh)
卸载: yum remove openssh (卸载了openssh,然后会自动卸载openssh-server和openssh-clients)
服务:/usr/sbin/sshd
服务端口:tcp / 22
服务器端配置文件:/etc/ssh/sshd_config
客户端配置文件: /etc/ssh/ssh_config
用法:ssh -p 22 [email protected] ,如果配置文件中默认是22号端口,则可以直接 ssh [email protected]
服务开启/关闭/重启/开机自启/开启不自启: systemctl start / stop / restart / enable / disable sshd
ssh服务端的配置文件(部分): /etc/ssh/sshd_config
#Port 22 //默认的端口号为22 修改端口时,取消注释
#LoginGraceTime 2m //ssh登录时,密码验证的超时时间,默认2分钟
#PermitRootLogin yes //是否允许以root用户身份登录
#MaxAuthTries 6 //最大认证次数
#MaxSessions 10 //登录Sessions保持的天数
#PermitEmptyPasswords no //是否允许空密码
PasswordAuthentication yes //开启密码认证
使用scp在两台Linux间传数据:
本机传数据给目的主机
- scp /etc/fstab [email protected]:/tmp 将本机 /etc/fstab 文件传送到目的主机的 /tmp目录下
- scp -r /etc/ssh/ [email protected]:/tmp 将本机 /etc/ssh/ 文件夹传送到目的主机的 /tmp 目录下
将目的主机的数据下载到本地
- scp [email protected]:/etc/fstab /tmp 将目的主机的 /etc/fstab 文件下载到本机的 /tmp 目录下
- scp -r [email protected]:/etc/ssh/ /tmp 将目的主机的 /etc/ssh/ 文件夹下载到本机的 /tmp 目录下
基于SSH做远程访问,可以使用ftp服务的相关指令
sftp [email protected]
- get /etc/fstab 将远端主机的 /etc/fstab下载到本机
- put /etc/fstab 将本机的 /etc/fstab 上传到远端主机
查看本机有多少终端登录: who 和 w
通过 who 显示远端10.0.0.1的地址通过ssh登录本机,然后本机开了两个tty终端
然后再通过 w 可以查看他是几点登录的,当前正在运行的命令是top
然后在通过 ps aux | grep pts 可以看到pts进程以及子进程
Openssh公私钥验证:
- 在主机A上,使用 ssh-keygen,输入自己的私钥,在 ~/.ssh/ 生成的两个密钥: id_rsa(私钥) 和 id_rsa.pub(公钥)
- 私钥(id_rsa)保存在本地主机,公钥(id_rsa.pub)通过 ssh-copy-id [email protected] 传递到对端B主机的~/.ssh/目录下,并且重命名为 authorized_keys
- 登录目标主机: ssh [email protected] 使用自己的私钥登录
使用 ssh-keygen ,然后回车,然后在输入大于4位的私钥密码
可以看到,在~/.ssh/ 目录下已经生成了 id_rsa 私钥和 id_rsa.pub 公钥了
使用 ssh-copy-id [email protected]命令将 id_rsa.pub 公钥传到目标主机 ~/.ssh/ 目录下
可以看到,目标主机已经收到 id_rsa.pub公钥了,并且重命名为 authorized_keys
然后在主机上 ssh [email protected] 然后输入我们自己的私钥就可以登录了。