售前咨询400-838-0503

SSH连接出现"Permission denied"怎么解决?

发布:2025-05-01 12:33

SSH连接出现"Permission denied"的8种解决方法大全

作为Linux系统管理员或开发人员,SSH连接时遇到"Permission denied"错误是常见但令人头疼的问题。本文将深入分析导致该错误的8种主要原因,并提供详细的解决方案,帮助您快速恢复服务器连接。

一、密码错误导致拒绝访问

这是最常见的SSH连接被拒原因,当您看到类似以下错误时:

Permission denied (publickey,password).

解决方法:

  1. 确认用户名和密码是否正确(注意大小写)
  2. 尝试使用-v参数获取详细错误信息:ssh -v user@host
  3. 如果是root用户,检查/etc/ssh/sshd_configPermitRootLogin设置

二、SSH密钥认证问题

当配置了密钥认证但依然被拒绝时,可能出现:

Permission denied (publickey).

解决方法:

  1. 检查~/.ssh/authorized_keys文件权限是否为600
  2. 确认公钥已正确添加到服务器端的authorized_keys文件中
  3. 使用ssh-add命令确保密钥已加载到ssh-agent
  4. 检查/etc/ssh/sshd_configPubkeyAuthentication是否为yes

三、SELinux安全策略限制

在启用SELinux的系统上,可能出现因安全策略导致的连接拒绝。

解决方法:

  1. 临时禁用SELinux测试:setenforce 0
  2. 永久禁用需修改/etc/selinux/config文件
  3. 或使用restorecon -R -v /home/username/.ssh恢复上下文

四、用户家目录权限问题

不正确的家目录权限会导致SSH拒绝连接:

Authentication refused: bad ownership or modes

解决方法:

  1. 确保用户家目录权限为755:chmod 755 /home/username
  2. .ssh目录权限应为700:chmod 700 ~/.ssh
  3. authorized_keys文件权限应为600:chmod 600 ~/.ssh/authorized_keys

五、防火墙或网络限制

网络层面的限制也可能导致连接被拒绝。

解决方法:

  1. 检查服务器防火墙设置:iptables -Lfirewall-cmd --list-all
  2. 确认SSH端口(默认22)已开放
  3. 检查云服务商的安全组规则
  4. 使用telnet测试端口连通性:telnet host 22

六、PAM认证模块限制

PAM(Pluggable Authentication Modules)配置可能导致认证失败。

解决方法:

  1. 检查/etc/pam.d/sshd配置文件
  2. 查看/etc/security/access.conf访问控制列表
  3. 检查/etc/nologin文件是否存在

七、SSH服务配置问题

错误的sshd配置会直接导致连接被拒绝。

解决方法:

  1. 检查/etc/ssh/sshd_config主要参数:
    • AllowUsers/AllowGroups
    • DenyUsers/DenyGroups
    • PasswordAuthentication
  2. 修改配置后重启sshd服务:systemctl restart sshd
  3. 查看sshd日志:journalctl -u sshd

八、账户被锁定或过期

用户账户本身的问题也会导致连接被拒绝。

解决方法:

  1. 检查账户是否被锁定:passwd -S username
  2. 检查密码是否过期:chage -l username
  3. 解锁账户:passwd -u username

总结与最佳实践

遇到SSH "Permission denied"错误时,建议按照以下步骤排查:

  1. 使用ssh -v获取详细错误信息
  2. 检查服务器sshd日志:/var/log/auth.logjournalctl -u sshd
  3. 从简单到复杂逐项排查:密码→密钥→权限→配置→网络
  4. 保持SSH客户端和服务端版本更新

通过系统性的排查,大多数SSH连接问题都能得到解决。如果问题仍然存在,建议查阅更详细的系统日志或在技术社区寻求帮助。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单