1. 基础服务
需要两个服务:ssh和rsync,查询方法:
rpm –qa | grep openssh
rpm –qa | grep rsync
2. A登录A
2.1 生成公钥私钥
在机器A上执行命令
ssh-keygen –t rsa –P ''
这条命令生成其 无密码密钥对 ,询问其保存路径时 直接回车 采用默认路径。生成的密钥对:id_rsa和id_rsa.pub,默认存储在"~ /.ssh "目录下,包括两个文件,id_rsa和id_rsa.pub,分别为私钥和公钥。
2.2 写入信任文件
执行如下命令,将公钥写入信任文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
2.3 配置sshd服务
用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
设置完之后记得 重启SSH服务 ,才能使刚才设置有效:
service sshd restart
2.4 验证
验证配置是否成功,使用普通用户,执行如下命令:
ssh localhost
如果执行成功,则说明配置成功。
3. A登录B
上面的配置描述了如何在A机器上无密码登录A机器,在B机器上同样执行上面的操作,则B机器也可以登录自己了。下一步,我们配置A机器登录B机器。
使用scp,将A机器的id_rsa.pub拷贝到B机器,然后将该文件的内容追加到B机器的authorized_keys文件
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
然后重启B机器的sshd服务,然后就可以从A机器无密码SSH登录B机器了。
4. B登录A
然后再设置B机器登录A机器应该就很简单了,同样scp B的公钥到A中,追加到authorized_keys文件,重启服务即可。