CentOS配置SSH免密码登录后,仍提示输入密码

CentOS配置SSH无密码登录需要3步:

  1. 生成公钥和私钥
  2. 导入公钥到认证文件,更改权限
  3. 测试

1.生成公钥和私钥

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

默认在 ~/.ssh目录生成两个文件:
    id_rsa      :私钥
    id_rsa.pub  :公钥

2.导入公钥到认证文件
    2.1 导入本机

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

    2.2 导入要免密码登录的服务器

首先将认证文件复制到服务器

scp ~/.ssh/authorized_keys xxx@主机名:/home/xxx/.ssh/

一般以上几步就ok了,但我的仍要输入密码,

用root用户登陆查看系统的日志文件:$tail /var/log/secure -n 20

…………

Oct  7 10:26:43 MasterServer sshd[2734]: Authentication refused: bad ownership or modes for file /home/Hadooper/.ssh/authorized_keys
Oct  7 10:26:48 MasterServer sshd[2734]: Accepted password for hadooper from ::1 port 37456 ssh2
Oct  7 10:26:48 MasterServer sshd[2734]: pam_unix(sshd:session): session opened for user hadooper by (uid=0)
Oct  7 10:36:30 MasterServer sshd[2809]: Accepted password for hadooper from 192.168.1.241 port 36257 ssh2
Oct  7 10:36:30 MasterServer sshd[2809]: pam_unix(sshd:session): session opened for user hadooper by (uid=0)
Oct  7 10:38:28 MasterServer sshd[2857]: Authentication refused: bad ownership or modes for directory /home/hadooper/.ssh

…………

提示/home/hadooper/.ssh和 /home/hadooper/.ssh/authorized_keys权限不对,修改如下:   

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys 

3.测试
    ssh host,第一次登录可能需要yes确认,之后就可以直接登录了。

 

 

 

 

 

 

 

相关推荐