首页 > 代码库 > linux 集群配置ssh无密码访问

linux 集群配置ssh无密码访问

一、修改host文件

1) 用客户端工具(ssh client或者putty)连接到linux服务器。在root用户下输入命令

vi /etc/hosts,用vi编辑hosts文件,如下:

#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.1.160 host01192.168.1.161 host02192.168.1.162 host03192.168.1.163 host04192.168.1.164 host05

2) 输入命令:cd .ssh进入rsa公钥私钥文件存放的目录,删除目录下的id_rsa,id_rsa.pub文件。

二、在每台机上产生新的rsa公钥私钥文件,并统一拷贝到一个authorized_keys文件中

1) 登录host01,在.ssh目录下输入命令:

ssh-keygen -t rsa

,三次回车后,该目录下将会产生id_rsa,id_rsa.pub这2个文件。其他主机也使用该方式产生密钥文件。

2) 登录host01,输入命令:

cp id_rsa.pub authorized_keys         拷贝重命名

(cat id_rsa.pub >> authorized_keys) 拷贝内容

,将id_rsa.pub公钥拷贝重命名为authorized_keys文件。

3) 登录其他主机,将其他主机的公钥文件内容都拷贝到host01主机上的authorized_keys文件中,命令如下:

ssh-copy-id -i host01 #登录host02,将公钥拷贝到host01的authorized_keys中ssh-copy-id -i host01#登录host03,将公钥拷贝到host01的authorized_keys中ssh-copy-id -i host01#登录host04,将公钥拷贝到host01的authorized_keys中ssh-copy-id -i host01 #登录host05,将公钥拷贝到host01的authorized_keys中
三、授权authorized_keys文件

1) 登录host01,在.ssh目录下输入命令:

chmod 600 authorized_keys

,效果如下:

[root@host01 .ssh]# ls -altotal 28drwx------.  2 root root 4096 Oct 24 12:27 .dr-xr-x---. 22 root root 4096 Oct 24 19:20 ..-rw-------.  1 root root 1975 Oct 24 12:27 authorized_keys-rw-------.  1 root root 1975 Oct 24 12:09 authorized_keys_20141024-rw-------.  1 root root 1675 Oct 24 12:23 id_rsa-rw-r--r--.  1 root root  395 Oct 24 12:23 id_rsa.pub-rw-r--r--.  1 root root 2020 Oct 24 12:10 known_hosts
四、将授权文件分配到其他主机上

1) 登录host01,将授权文件拷贝到host02、host03...,命令如下:

scp /root/.ssh/authorized_keys host02:/root/.ssh/ #拷贝到host02上scp /root/.ssh/authorized_keys host03:/root/.ssh/ #拷贝到host03上scp /root/.ssh/authorized_keys host04:/root/.ssh/ #拷贝到host04上scp /root/.ssh/authorized_keys host05:/root/.ssh/ #拷贝到host05上

2) 至此,免密码登录已经设定完成,注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。

 

 

linux 集群配置ssh无密码访问