linux服务器集群之间进行ssh访问时需要输入密码,对进行scp等操作很麻烦,现教大家如何在linux服务器集群之间实现无密码访问。 ssh访问是是需要指定用户的,所以此处建立用户信任关系时以root用户为例,如服务器集群中有三台服务器,分别为A、B、C。现在要实现三台机器之间的root用户的相互无密码访问,操作步骤如下:
(1 )用root用户登录A服务器,执行ssh-keygen -t rsa 命令,此命令为A机器上的用户root 生成密钥对。当询问保存路径时全部回车采用默认路径即可,当提示要为密钥输入 passphrase 是回车采用空密码。此命令执行完毕生成一对密钥文件 id_rsa (私钥)和 id_rsa.pub (公钥),默认存储在 /root/.ssh 下;
(2 ) 把生成的id_ras.pub 重定向到authorized_keys,命令是cat id_ras.pub > authorized_keys,把authorized_keys文件拷贝到B机器上得的同一目录下(命令为:scp /root/.ssh/authorized_keys root@B: /root/.ssh/ 或者 scp ./authorized_keys root@B: pwd);
(3)用root用户登录B机器,按照要求执行(1)步骤,然后,将生成的 id_ras.pub 追加到authorized_keys文件中,命令是cat id_ras.pub >> authorized_keys,然后将 authorized_keys文件拷贝覆盖掉A级器上的authorized_keys文件,这样A,B机器之间就可以实现相互之间的ssh无密码访问。
(4)对于C机器,同样将生成的生成的 id_ras.pub 追加到authorized_keys文件中,然后用新的authorized_keys文件覆盖A、B机器上的authorized_keys文件,则A、B、C机器之间就可以进行ssh无密码访问了。
注:以上是对root用户而言,如果是普通用户的话,则权限需要修改,.ssh文件夹权限是700,authorized_keys文件的权限是600,执行以下两个语句即可:
chmod 700 .ssh
chmod 600 authorized_keys
发表评论
您必须在 登录 后才能评论.