首页 > 代码库 > ssh无密码登录远程主机

ssh无密码登录远程主机

方法:在客户端生成公/私钥对,将私钥文件保存在客户端,再将公钥文件上传到服务器端(远程主机)

1、在客户端生成公/私钥对

cb@cb251#ssh-keygen
...
cb@cb251#ls .ssh/
id_rsa id_rsa.pub //默认id_rsa为私钥,id_rsa.pub为公钥

2、将公钥文件上传到远程主机上

cb@cb251#scp ~/.ssh/id_rsa.pub cb@cb48:/home/cb/.ssh

3、登录远程主机,将客户端公钥写入authorized_keys文件

cb@cb251#ssh cb@cb48
cb@cb48#cd .ssh/
cb@cb48#cat id_rsa.pub >> authorized_keys

4、完成,在客户端无密码登录远程主机

cb@cb251#ssh cb@cb48
cb@cb48# //无密码提示,直接登录则设置成功

5、双向无密码登录

将远程主机当成客户端,将原来的客户端当成远程主机,重复步骤1~4,即可实现两台机器之间都是无密码的ssh登录

6、一个客户端登录多台远程主机

重复步骤2~3,将客户端的公钥文件上传到多个远程主机上,并写入远程主机上的authorized_keys文件中

注意:一定要检查authorized_key文件的权限,最好是0644。曾经因为该文件的权限为0664,导致不能相互远程无密码登录,改成0644就好了。 

ssh无密码登录远程主机