PuTTY作为常用的SSH客户端,在远程登录Linux服务器时可能遇到密码无法输入或无响应的问题。该问题通常由终端编码、SSH协议版本、认证配置或网络环境等因素引发,可通过系统化排查解决。
1、终端编码不匹配问题
现象
输入密码时光标不闪烁、无字符显示。
原因
PuTTY未设置为UTF-8编码,导致与服务端字符集冲突。
解决方案
- 打开PuTTY配置,进入Connection > Data。
- 在Terminal-type string中填写xterm-256color(或vt100)。
- 进入Window > Translation,将Remote character set改为UTF-8。
- 保存会话并重新连接。
2、SSH协议版本不兼容问题
现象
连接后直接断开或提示协议错误。
原因
服务端与客户端SSH版本不一致(如服务端仅支持SSH-2,客户端默认用SSH-1)。
解决方案
- 在PuTTY配置中,进入Connection > SSH。
- 勾选Prefer SSH-2(或根据服务端支持选择版本)。
- 保存设置后重试。
3、服务端PAM认证异常问题
现象
输入正确密码后无响应,服务端日志显示认证失败。
原因
服务端/etc/pam.d/sshd配置错误或模块缺失。
解决方案
- 检查服务端SSH日志(/var/log/auth.log或/var/log/secure)
- 确认PAM配置无错误(如auth required pam_permit.so)。
- 重启SSH服务:
4、防火墙/安全策略拦截问题
现象
连接超时或提示“Network error: Connection timed out”。
原因
本地防火墙、服务端防火墙或安全组规则阻止SSH端口(默认22)。
解决方案
关闭本地防火墙测试:
检查服务端防火墙规则:
临时关闭服务端防火墙测试:
5、PuTTY配置不当问题
现象
输入密码后卡死,或提示“Access denied”。
原因
未启用“隐式密码”提示或会话配置错误。
解决方案
- 在PuTTY配置中,进入Connection > SSH > Auth。
- 勾选Attempt keyboard-interactive auth (SSH-2)。
- 确保未勾选Disable application keypad mode。
6、更换SSH客户端测试
若上述方法无效,可能是PuTTY兼容性问题。
替代方案
- 使用命令行SSH:
- 使用其他客户端(如Xshell、MobaXterm或OpenSSH)