ssh无密码访问

来源:互联网 发布:utorrent mac 打不开 编辑:程序博客网 时间:2024/05/21 14:46


1. 基础服务

需要两个服务:ssh和rsync,查询方法:

rpm –qa | grep opensshrpm –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


然后修改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文件,重启服务即可。