看到的,怕丢了.
SSH实现无密码登录的原理:
1. 使用的是不对称密钥,使用客户端的ssh程序生成一对密钥(公钥文件: ~/.ssh/id_rsa.pub ; 私钥文件: ~/.ssh/id_rsa ).
ssh-keygen -t rsa
2. 私钥会由客户端ssh程序自己保留,将公钥放到服务器端(拷贝到~/.ssh/authorized_keys 中)
cat ~ /.ssh/ id_rsa .pub | ssh root@ 192.168.1. 110 "cat - >> ~/.ssh/authorized_keys"
这个忘记自己具体执行了没有,不过也可以手动拷贝到服务器端,放入 ~/.ssh/authorized_keys中.
3. 当在客户端使用ssh程序登录时,ssh会发送私钥到服务器端做匹配,就可以成功登录了.
客户端执行:
ssh root@192.168.1.110
相当于开了一个安全通道,如果首次登录时输入密码,此后就按此密码登录.如果首次登录设密码为空,则可实现无密码登录.
客户端公私钥是客户端的唯一标识,不会被破解,只要服务器端认可客户端登,就能保证安全登录.