远程连接服务器---openSSH-私钥公钥与SSH代理
私钥与公钥
所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
这种方法要求用户必须提供自己的公钥。如果没有现成的,可以直接用ssh-******生成一个。
实验环境:
两台linux redhat6.5
地址分别为 192.168.10.100 / 192.168.10.200
首先开启服务端这的**验证
# vim /etc/ssh/sshd_config
去除这两项的#
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
绑定一个普通用户到客户机
在一个普通用户下:
注意这个密码是有长度要求的,至少大于4位。
生成的**储存在用户家目录下的SSH文件夹
然后把**给到zzz用户
$ ssh-copy-id -i id_rsa.pub [email protected]
这里的密码是用户ZZZ的密码。
回到ZZZ的家目录下查看,发现已经有了公钥文件
这时我们就可以使用**登陆zzz的系统了。
$ ssh [email protected]
下面布置ssh代理用来免密码登陆**
[[email protected] .ssh]$ ssh-agent bash
[[email protected] .ssh]$ ssh-add
Enter passphrase for /home/perk/.ssh/id_rsa: #输入**的密码
Identity added: /home/perk/.ssh/id_rsa (/home/perk/.ssh/id_rsa)
这样我们就可以免密码使用**登陆zzz的系统(并不安全)
转载于:https://blog.51cto.com/13706064/2145896