使用SSH遇到Authentication Refused: Bad Ownership or Modes for Directory

本文针对使用SSH进行git远程仓库操作时遇到的认证拒绝问题进行了分析,并提供了具体的解决方案。问题表现为远端服务器提示要求输入密码,不同于以往的操作体验。通过检查服务器的SSH日志文件/var/log/secure,发现权限设置不当导致的问题根源。文章引用了相关资料,指出正确的目录和文件权限设置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源:http://xwv.iteye.com/blog/1897479
评:
在使用SSH进行git的远程仓库操作时,远端服务器提示要求输入密码.这与之前的使用情况并不

相同.检查了服务器的ssh的日志文件/var/log/secure后,注意到类似下面的信息:

Authentication refused: bad ownership or modes for directory /home/git/.ssh



想来应该是文件夹读写权限的设置问题.在Google之后,找到下面这个web,与所遇问题是类似的:

SSH Authentication Refused: Bad Ownership or Modes for Directory

下面转贴来自其中的一段内容:

SSH doesn’t like it if your home or ~/.ssh directories have group write permissions. Your home directory should be writable only by you, ~/.ssh should be 700, and authorized_keys should be 600


You can also get around this by adding StrictModes off to your ssh_config file, but I’d advise against it - fixing permissions is the way to go.e against it - fixing permissions is the way to go.
在连接服务器时遇到 `No supported authentication methods available (server sent: publickey)` 错误,通常表示客户端与服务器端的认证方式不匹配。SSH 服务器明确要求使用公钥认证(publickey),但客户端未正确提供密钥或配置不当。 ### 常见原因及解决方法 #### 1. **确认私钥文件是否加载到 PuTTY 或 SSH 客户端** - 如果使用 PuTTY 连接服务器,需确保已将 `.ppk` 格式的私钥文件加载到 PuTTY 的 "Private key file for authentication" 配置中。 - 若使用 OpenSSH 命令行工具,应确保私钥文件位于默认路径(如 `~/.ssh/id_rsa`)或通过 `-i` 参数指定私钥路径: ```bash ssh -i ~/.ssh/id_rsa username@hostname ``` #### 2. **检查服务器端是否配置了允许公钥认证** - 确认 `/etc/ssh/sshd_config` 中包含以下配置项,并且未被注释: ``` PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys ``` - 修改配置后需重启 SSH 服务: ```bash sudo systemctl restart sshd ``` #### 3. **确认公钥已添加到服务器的 authorized_keys 文件** - 在本地生成密钥对后,应将公钥内容(`id_rsa.pub`)追加到服务器上的 `~/.ssh/authorized_keys` 文件中[^2]。 - 可手动复制并粘贴公钥内容,也可使用命令自动完成: ```bash ssh-copy-id -i ~/.ssh/id_rsa.pub username@hostname ``` #### 4. **检查用户权限和目录权限** - `.ssh` 目录的权限应设置为 `700`: ```bash chmod 700 ~/.ssh ``` - `authorized_keys` 文件的权限应设置为 `600`: ```bash chmod 600 ~/.ssh/authorized_keys ``` - 确保 `.ssh` 和 `authorized_keys` 的所有权属于当前用户。 #### 5. **验证 SSH 登录日志以获取更多线索** - 查看服务器端的 SSH 日志,通常位于 `/var/log/auth.log` 或 `/var/log/secure`,以了解认证失败的具体原因。 - 示例日志片段可能显示: ``` Authentication refused: bad ownership or modes for directory /home/user/.ssh ``` #### 6. **测试 SSH 配置连通性** - 使用 `-v` 参数运行 SSH 命令以启用详细输出,便于排查问题: ```bash ssh -v -i ~/.ssh/id_rsa username@hostname ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值