两台linux服务器,A:192.168.0.1 B:192.168.0.2
实现A-->B服务器之间ssh免密登录
原理:上传公钥
步骤:
- 在服务器A上生成密钥(公钥、密钥):ssh-keygen -t rsa,一路回车,本地会生成两个秘钥文件
-rw------- 1 admin admin 1679 9月 16 10:53 id_rsa
-rw-r--r-- 1 admin admin 401 9月 16 10:53 id_rsa.pub - 将公钥发送到服务器B上:ssh-copy-id -i ~/.ssh/id_rsa.pub usernameB@192.168.0.2,此时还需要输入服务器B的密码,发送成功之后,在B服务器的~/.ssh目录下会生成一个authorized_keys文件
- 到此为止,免密登录配置成功,下次从A登录B不再需要输入密码
- 说明:若想从B到A也不输入密码,则在B上执行步骤1/2
问题:
有时候连接会报错:sign_and_send_pubkey: signing failed: agent refused operation
解决方法:
执行两条命令:
eval
"$(ssh-agent -s)"
ssh-add
接下来就可以免密登录