Linux多台计算机之间使用ssh、scp无需密码的一种方法
配置多台计算,使之可以相互登录而不需要输入密码,步骤如下:
一、如果没有安装ssh,则安装ssh(yum install ssh)安装完成后会在用户主目录下产生一个隐藏文件夹.ssh。如果没有这个文件,自己新建即可(mkdir .ssh)。
二、进入.ssh目录下面,在每台机器上执行命令:ssh-keygen -t rsa 之后一直回车,便产生密钥;
三、完成第二步后会产生两个文件:id-rsa(私钥)、id-rsa.pub(公钥)
四、在第一台机器的目录.ssh下执行命令:cat id-rsa.pub >> authorized_keys;此后.ssh下面会出现authorized_keys文件。
五、然后将第一台机器的.ssh目录下面的authorized_keys文件拷贝到第二台计算机的.ssh目录下,
如:scp /root/.ssh/authorized_keys root@192.168.1.200:/root/.ssh/
六、到第二台机器的.ssh目录下,将第二台计算机的公钥追加进来,如:cat id-rsa.pub >> authorized_keys.
七、将第二台计算机新生成的authorized_keys传输第三台计算机,将第三台计算机的公钥-id-rsa.pub添加到从第二台计算机传过来的authorized_keys里面。依次类推,直到最后一台计算机。
八、在最后一台计算机执行完添加后,生成的authorized_keys文件就包含所有计算机的公钥,如果以后还有机器加进来,将公钥直接追加到文件authorized_keys中即可。最后,将最后生成的authorized_keys复制到每一台计算机的.ssh目录下,覆盖掉之前的authorized_keys。至此,便可以在任意一台计算机上免密码使用ssh、scp了。如:在主机192.168.1.101上执行如下:
scp /tmp/t.txt 192.168.1.200:/tmp
ssh 192.168.1.200
注:假如没有公钥则需要如下执行:
scp /tmp/t.txt root@192.168.1.200:/tmp
ssh root@192.168.1.200
本文转自shangshanyang51CTO博客,原文链接: http://blog.51cto.com/qqran/1900714,如需转载请自行联系原作者