CentOs配置OpenSSH无密码登陆

1 配置服务器/etc/ssh/sshd_config文件。

去掉以下内容的注释符“#”或修改成如下方式。

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PermitRootLogin no    #不允许root用户登陆ssh,目的是为了系统安全。
Protocol 2    #选择第二种协议,目的是为了系统的安全。

2 在客户端生成一对公私钥,将公钥复制到服务器的user/.ssh/authorized_keys文件中。

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ scp ~/.ssh/id_dsa.pub user@Sever's_IP:/home/user/.ssh/
$ ssh user@Sever's_IP
$ cat /home/user/.ssh/id_dsa.pub >> /home/user/.ssh/authorized_keys

3 修改远程服务器/home/user/.ssh/authorized_keys的权限为600,即可通过OpenSSH远程无密码登陆服务器。

$ chmod 600 ~/.ssh/authorized_keys

4.添加id_rsa到ssh-agent。如果连接服务器返回“Agent admitted failure to sign using the key”。

$ ssh-add
再次连线就正常了。

5. 设置 selinux

若没有关闭 selinux,则依然不能无密码登录,关闭即可。

$ sudo setenforce 0

此外,若用户的家目录权限过大,比如为777,则也会导致即使正确进行以上设置后,任然需要输入密码登录。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据