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服务:
    sudo systemctl restart sshd  # 或 service ssh restart

4、防火墙/安全策略拦截问题

现象

连接超时或提示“Network error: Connection timed out”。

原因

本地防火墙、服务端防火墙或安全组规则阻止SSH端口(默认22)。

解决方案

关闭本地防火墙测试:

# Windows(管理员CMD)
netsh advfirewall set allprofiles state off

检查服务端防火墙规则:

sudo iptables -L -n | grep 22  # Linux

临时关闭服务端防火墙测试:

sudo systemctl stop firewalld  # CentOS
sudo ufw disable              # Ubuntu

5、PuTTY配置不当问题

现象

输入密码后卡死,或提示“Access denied”。

原因

未启用“隐式密码”提示或会话配置错误。

解决方案

  • 在PuTTY配置中,进入Connection > SSH > Auth。
  • 勾选Attempt keyboard-interactive auth (SSH-2)。
  • 确保未勾选Disable application keypad mode。

6、更换SSH客户端测试

若上述方法无效,可能是PuTTY兼容性问题。

替代方案

  1. 使用命令行SSH:
ssh username@server_ip -p 22
  1. 使用其他客户端(如Xshell、MobaXterm或OpenSSH)
标签: