ssh免密码登录
准备环境:
系统:centos6.5 64位
192.168.211.129 master
192.168.211.131 slave1
在两台服务器上都要配置ssh免密码登录
在192.168.211.129上
vim /etc/hosts最后添加
192.168.211.129 master
192.168.211.131 slave1
在192.168.211.131上
vim /etc/hosts最后添加
192.168.211.129 master
192.168.211.131 slave1
主机ip:192.168.211.129(hostname: master)
ssh无密码登陆的远程机ip:192.168.211.131(hostname: slave1)
首先要修改master和slave1 的配置文件:
vi /etc/ssh/sshd_config
(要确保这些字符前无注释符号“#”)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
PeimitEmptyPasswords yes
1.在本地机上输入命令: ssh-keygen -t rsa
2.接着一路按回车,默认情况下ssh生成的公密钥会被存储到目录/root/.ssh下(注意这个文件夹的权限为700),分别为id_rsa 和id_rsa.pub
3.在本地机上创建文件 authorized_keys(权限为600)
touch /root/.ssh/authorized_keys
并将公钥追加到authorized_keys文件中:
cat id_rsa.pub >> authorized_keys
4.修改文件夹/root/.ssh的权限:
(本地机和远程机都要修改)
chmod 700 /root/.ssh
5.修改文件的属性:
chmod 600 /root/.ssh/authorized_keys
6.将公钥复制到ip地址为192.168.211.131的远程机上:
ssh-copy-id -i /root/.ssh/id_rsa/pub root@192.168.211.131 (实践证明在传送公钥时,这个命令好于scp命令 )
笔者在输入命令时已经在远程主机上创建了文件夹如下:/root/.ssh/,并且,已经按上文修改了权限/.ssh (700)
7.在本地机master上执行命令:
ssh-add /root/.ssh/id_rsa
这个是为了将公钥添加进来。
8.重新启动ssh服务:
service sshd restart
9. 在本地主机上输入:
ssh slave1(回车)
即可登录到远程主机上了。
10.若要配置能在slave1上远程无密码登录master,只需做和master一样的操作即可: 首先要修改主机 和ssh连接到的远程机 的配置文件:
11.在本地机上输入命令: ssh-keygen -t rsa
12.接着一路按回车,默认情况下ssh生成的公密钥会被存储到/root/.ssh这个文件夹下(注意这个文件夹的权限为700),分别为id_rsa 和id_rsa.pub
13.将公钥追加到authorized_keys文件中:
cat id_rsa.pub >> authorized_keys
14.修改文件的属性:
chmod 600 /root/.ssh/authorized_keys
15.将公钥复制到ip地址为192.168.211.129的master上:
ssh-copy-id -i /root/.ssh/id_rsa/pub root@192.168.211.129 (实践证明在传送公钥时,这个命令好于scp命令 )
16.重新启动ssh服务:
service sshd restart
17. 在本地主机上输入:
ssh master(回车)
即可登录到master上了。
ps:文件夹路径或是文件名根据个人的配置而有所不同,
需要根据具体情况进行更改。
不对文件夹及文件修改权限和没有执行ssh-add命令
都会引起设置之后远程登陆仍需要输入密码的情况。
当然,也要注意对配置文件进行设置及修改。