ssh免认证配置后还是提示输入密码

本文记录了一次SSH免密码登录配置失败的问题排查过程。在hadoop1到hadoop2的连接中,尽管已配置了SSH免密码登录,但仍提示需要输入密码。通过对比不同机器的文件权限和日志信息,最终定位到问题所在并解决了该故障。
配置了到hadoop2的ssh免认证,但是还是要求输入密码
[hao@hadoop1 ~]$ ssh hadoop2
hao@hadoop2's password: 
反过来hadoop2到hadoop1的免认证是没问题,hadoop1到另外一台机器的名认证也没问题。同时,root用户时1到2也没问题。
检查日志:
[root@hadoop2 ~]# tail -f /var/log/secure
Nov 19 12:51:03 hadoop2 sshd[2844]: Authentication refused: bad ownership or modes for file /home/hao/.ssh/authorized_keys
Nov 19 12:51:24 hadoop2 sshd[2848]: Authentication refused: bad ownership or modes for file /home/hao/.ssh/authorized_keys
检查hadoop1,hadoop3的文件权限如下
[hadoop3 hao]# ls -alt
total 76
-rw------- 1 hao  hao   896 Nov 19 12:28 .bash_history
drwx------ 4 hao  hao  4096 Nov 19 12:22 .
-rw-r--r-- 1 hao  hao   393 Nov 19 12:22 id_rsa.pub
drwx------ 2 hao  hao  4096 Nov 19 08:52 .ssh
drwxr-xr-x 4 hao  hao  4096 Nov 12 03:34 .mozilla
drwxr-xr-x 3 root root 4096 Nov 11 17:24 ..
-rw-r--r-- 1 hao  hao   658 Apr 15  2009 .zshrc
-rw-r--r-- 1 hao  hao    33 Oct 
检查hadoop2的文件权限如下:
[root@hadoop2 hao]# ls -alt
total 76
-rw------- 1 hao  hao  2029 Nov 19 12:49 .bash_history
-rw-r--r-- 1 hao  hao   393 Nov 19 12:37 id_rsa.pub
drwx------ 2 hao  hao  4096 Nov 19 12:32 .ssh
drwx------ 4 hao  hao  4096 Nov 19 12:19 .
drwxr-xr-x 4 hao  hao  4096 Nov 12 03:34 .mozilla
drwxr-xr-x 3 root root 4096 Nov 11 17:24 ..
-rw-r--r-- 1 hao  hao   658 Apr 15  2009 .zshrc
-rw-r--r-- 1 hao  hao    33 Oct 21  2008 .bash_logout
-rw-r--r-- 1 hao  hao   176 Oct 21  2008 .bash_profile
-rw-r--r-- 1 hao  hao   124 Oct 21  2008 .bashrc
-rw-r--r-- 1 hao  hao   515 Dec 11  2007 .emacs
[root@hadoop2 hao]# cd .ssh/
[root@hadoop2 .ssh]# ls -alt
total 28
-rw-r--r-- 1 hao hao 1568 Nov 19 12:43 known_hosts
-rw-rw-r-- 1 hao hao 1179 Nov 19 12:37 authorized_keys
drwx------ 2 hao hao 4096 Nov 19 12:32 .
drwx------ 4 hao hao 4096 Nov 19 12:19 ..
-rw------- 1 hao hao 1675 Nov 19 12:18 id_rsa
-rw-r--r-- 1 hao hao  393 Nov 19 12:18 id_rsa.pub
发现hadoop2上的文件authorized_keys与另外机器不一样,修改权限
[root@hadoop2 .ssh]# chmod 644 authorized_keys 
[root@hadoop2 .ssh]# ls -alt
total 28
-rw-r--r-- 1 hao hao 1568 Nov 19 12:43 known_hosts
-rw-r--r-- 1 hao hao 1179 Nov 19 12:37 authorized_keys
drwx------ 2 hao hao 4096 Nov 19 12:32 .
drwx------ 4 hao hao 4096 Nov 19 12:19 ..
-rw------- 1 hao hao 1675 Nov 19 12:18 id_rsa
-rw-r--r-- 1 hao hao  393 Nov 19 12:18 id_rsa.pub
之后名认证没有问题。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14710393/viewspace-1841633/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14710393/viewspace-1841633/

### 配置 SSH 密钥认证实现无密码登录服务器 为了实现无密码登录服务器,可以使用 SSH 密钥认证机制。该机制基于公钥加密技术,通过一对密钥(公钥和私钥)实现安全认证,免去手动输入密码的步骤,同时提升连接的安全性[^1]。 #### 生成 SSH 密钥对 在本地计算机上生成 SSH 密钥对是第一步。使用以下命令生成一个 RSA 类型的密钥对: ```bash ssh-keygen -t rsa -b 4096 ``` 运行该命令后,系统会提示选择保存密钥的路径,默认路径为 `~/.ssh/id_rsa`。可以选择默认路径,也可以自定义。接着会要求输入一个密码(passphrase),用于保护私钥。如果希望实现完全无密码登录,则可以留空该密码[^1]。 #### 将公钥上传至远程服务器 生成密钥对后,需要将公钥(通常为 `~/.ssh/id_rsa.pub`)添加到远程服务器的 `~/.ssh/authorized_keys` 文件中。可以使用以下命令完成该操作: ```bash ssh-copy-id user@remote_host ``` 其中 `user` 是远程服务器上的用户名,`remote_host` 是服务器的 IP 地址或域名。该命令会自动将本地的公钥复制到远程服务器的 `~/.ssh/authorized_keys` 文件中,并设置正确的权限[^1]。 #### 测试无密码登录 完成上述步骤后,尝试使用 SSH 登录远程服务器: ```bash ssh user@remote_host ``` 如果一切配置正确,将无需输入密码即可成功登录。若仍然需要输入密码,请检查远程服务器的 `.ssh` 目录及其文件的权限设置是否正确。`.ssh` 目录应设置为 `700` 权限,`authorized_keys` 文件应设置为 `600` 权限[^1]。 #### 设置别名简化登录 为了进一步简化登录过程,可以在本地的 `~/.ssh/config` 文件中添加别名配置,例如: ```bash Host myserver HostName remote_host User user IdentityFile ~/.ssh/id_rsa ``` 配置完成后,只需输入以下命令即可登录: ```bash ssh myserver ``` 这将使用指定的用户名、主机名和私钥文件进行连接,无需手动输入完整命令和密码[^2]。 #### 安全性注意事项 SSH 密钥认证虽然提升了登录的便捷性,但也需要注意安全性。私钥文件应妥善保管,避免泄露。建议为私钥设置密码,以防止密钥文件被盗用。此外,远程服务器的 `~/.ssh/authorized_keys` 文件应定期检查,确保仅包含可信的公钥[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值