中文

在 Windows 上用 PuTTY 连接 Linux VPS

2 min
VPS/VDS 主机

PuTTY 是 Windows 上轻量且久经考验的 SSH 客户端,适合需要保存会话和图形化设置窗口的场景。本指南将带你连接 VPS Linux Infrawire,保持会话不断线,用 PuTTYgen 和 Pageant 改用密钥认证,并通过 pscp 传输文件。

📋 前提条件

  • Windows 10 或 11。
  • 一台已启动的 Linux VPS(Ubuntu 24.04、Debian 12、AlmaLinux 9 或 Rocky 9)。
  • VPS 的 IP 地址和 root 密码:在客户中心即可找到 VPS 的 IP 和 root 密码。
  • 已安装 PuTTY,其中包含 putty.exe、puttygen.exe、pageant.exe 和 pscp.exe。

如果你使用 winget,在 PowerShell 中一行命令即可安装:

PowerShell
winget install PuTTY.PuTTY

🔌 创建并保存会话

  1. 启动 PuTTY。在 Session 分类中,把 VPS_IP 填入 Host Name (or IP address)。
  2. Port 保持 22(或你的自定义端口),Connection type 选择 SSH。
  3. 在 Saved Sessions 框中输入 myvps 之类的名称,然后点击 Save。
  4. 可选:在 Connection > Data 中把 Auto-login username 填为 root,这样就不会再询问用户名。
  5. 回到 Session,选中 myvps,再次点击 Save,然后点击 Open。

首次连接时,PuTTY 会弹出 PuTTY Security Alert,显示服务器密钥指纹。只有在信任该服务器时才点击 Accept,密钥随后会记录在注册表中。

⏱️ 用 keepalive 防止掉线

空闲会话常被路由器和防火墙切断。打开 Connection,把 Seconds between keepalives 设为 30,回到 Session 再次保存 myvps。此后 PuTTY 每 30 秒发送一个小数据包。

🔑 用 PuTTYgen 生成密钥对

打开 PuTTYgen,密钥类型选择 EdDSA(Ed25519),在空白区域移动鼠标并点击 Generate。然后:

  1. 输入 Key passphrase 并确认。
  2. 点击 Save private key,把 .ppk 文件保存在安全的地方。
  3. 复制 Public key for pasting into OpenSSH authorized_keys file 中的文本。

用密码登录,然后把公钥安装到 VPS(把复制的那一行粘贴进文件):

Bash
mkdir -p ~/.ssh && chmod 700 ~/.ssh nano ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys

在 PuTTY 中进入 Connection > SSH > Auth > Credentials,在 Private key file for authentication 中选择你的 .ppk,回到 Session 并保存。若要使用已有的 OpenSSH 私钥,请通过 PuTTYgen 转换:Conversions > Import key,再点击 Save private key。

🧩 用 Pageant 一次性加载密钥

Pageant 是 PuTTY 的密钥代理。运行 pageant.exe,它会驻留在通知区域,右键点击其图标,选择 Add Key,选中 .ppk 并输入一次密码短语。只要 Pageant 在运行,PuTTY 和 pscp 就会直接使用该密钥而不再询问。关闭 Pageant 即可让它忘记密钥。

📂 用 pscp 传输文件

pscp.exe 是 PuTTY 的命令行复制工具。注意端口参数是大写的 -P。在 PowerShell 中:

PowerShell
# 上传文件 pscp -P 22 C:\Users\USER\Documents\site.zip root@VPS_IP:/root/ # 下载文件 pscp -P 22 root@VPS_IP:/var/log/syslog C:\Users\USER\Downloads\ # 上传整个文件夹 pscp -r -P 22 C:\Users\USER\project root@VPS_IP:/root/ # 使用指定密钥 pscp -i C:\keys\vps.ppk site.zip root@VPS_IP:/root/

如果找不到 pscp,请使用完整路径调用,例如 & 'C:\Program Files\PuTTY\pscp.exe'。

✅ 验证连接

登录后,确认使用的是密钥登录,并且位于正确的机器上:

Bash
whoami hostname cat /etc/os-release sudo grep 'Accepted publickey' /var/log/auth.log | tail -n 3

最后一条命令适用于 Ubuntu/Debian;在 AlmaLinux/Rocky 上请使用 sudo journalctl -u sshd | grep Accepted | tail -n 3。PuTTY 标题栏会显示已连接的会话,Event Log(右键点击标题栏)则列出认证的各个步骤。

🛠️ 故障排查

Network error: Connection timed out / refused。 检查 VPS_IP 和端口、VPS 是否已启动,以及 SSH 是否在监听(Ubuntu/Debian 上用 sudo systemctl status ssh,AlmaLinux/Rocky 上为 sshd)。本地防火墙或公司网络也可能封锁该端口。

Server refused our key / Disconnected: No supported authentication methods available。 公钥没有粘贴为单独一行、用户名不对,或权限过于宽松。请重新检查 authorized_keys,执行 chmod 700 ~/.ssh 和 chmod 600 ~/.ssh/authorized_keys,并确认 .ppk 与公钥匹配。

Unable to use key file (OpenSSH SSH-2 private key)。 PuTTY 无法读取该格式。请用 PuTTYgen 转换密钥(Conversions > Import key),或把 PuTTY 升级到最新版本。

会话几分钟后卡死。 按上文设置 keepalive 间隔。


🚀 现在 PuTTY 已配置好保存的会话、密钥登录和文件传输。下一步:密钥可用后,关闭密码登录。

及时了解最新的优惠、折扣和特别促销活动。

查看促销

我们使用Cookie

我们使用分析性Cookie来改善您在我们网站上的体验。数据不会出售给第三方。了解更多请查看我们的 隐私政策.