首页 / 常见问题

常见问题解答

我们收集了用户在使用PuTTY过程中最常见的问题和解决方案,帮助您快速解决遇到的困难。

连接问题

这个错误通常表示服务器的SSH服务未运行或端口不正确。请检查以下几点:

  1. 确认服务器的SSH服务是否已启动并运行
  2. 检查输入的端口号是否正确(SSH默认端口为22)
  3. 确认服务器防火墙是否允许SSH连接
  4. 验证网络连接是否正常,尝试ping服务器IP地址
  5. 如果使用域名,请确认域名解析是否正确

如果您是服务器管理员,可以通过以下命令检查SSH服务状态:

# 对于Systemd系统(Ubuntu 16.04+, CentOS 7+)
systemctl status sshd

# 对于SysV系统(较旧的Linux发行版)
service sshd status

连接超时通常表示网络连接问题或服务器不可达。请尝试以下解决方案:

  1. 检查网络连接是否稳定
  2. 确认服务器IP地址或域名是否正确
  3. 尝试暂时禁用本地防火墙或安全软件
  4. 检查服务器是否在线,可以通过ping命令测试
  5. 如果是远程服务器,确认服务器提供商没有遇到服务中断
  6. 尝试增加PuTTY的连接超时设置:在"连接"选项中,将"Seconds between keepalives"设置为30,并勾选"Enable TCP keepalives"

这个警告表示服务器的SSH密钥指纹与您之前连接时保存的不匹配。这可能是由以下原因导致的:

  1. 服务器已重新安装或SSH配置已更改
  2. 可能存在中间人攻击(较少见但需要警惕)
  3. 您连接到了不同的服务器,但使用了相同的IP地址或域名

如果您确认服务器是安全的(例如,您知道服务器已重新安装),可以按照以下步骤解决:

# 在Windows命令提示符中执行
ssh-keygen -R [服务器IP或域名]

# 例如
ssh-keygen -R 192.168.1.1

执行后,下次连接时PuTTY会提示您接受新的服务器密钥。

配置问题

乱码通常是由于字符编码不匹配导致的。请按照以下步骤设置:

  1. 在PuTTY配置窗口中,展开"窗口" > "外观"
  2. 点击"字体设置"中的"更改"按钮
  3. 选择一个支持中文的字体,如"宋体"或"微软雅黑"
  4. 在"字符集"下拉菜单中选择"CHINESE_GB2312"或"UTF-8"
  5. 然后展开"窗口" > "翻译"
  6. 在"远程字符集"下拉菜单中选择相应的编码(与服务器一致)
  7. 保存设置并重新连接

如果服务器使用UTF-8编码,建议在"远程字符集"中选择"UTF-8",这样可以正确显示各种语言的字符。

PuTTY的复制粘贴操作与Windows标准操作略有不同:

  • 复制:用鼠标左键拖动选中要复制的文本,文本会自动复制到剪贴板
  • 粘贴:在PuTTY窗口中右键单击,剪贴板内容会被粘贴

注意:标准的Ctrl+C和Ctrl+V快捷键在PuTTY中不适用。如果您习惯使用键盘快捷键,可以在"窗口" > "选择" > "动作"中配置键盘快捷键。

如果PuTTY连接经常断开,可以尝试以下解决方案:

  1. 启用TCP保活机制:
    • 在PuTTY配置中,展开"连接"
    • 将"Seconds between keepalives"设置为一个较小的值(如30)
    • 确保勾选"Enable TCP keepalives"
  2. 增加服务器端的SSH超时设置(如果您有权限):
    • 编辑服务器上的SSH配置文件(通常是/etc/ssh/sshd_config)
    • 修改或添加以下行:
      ClientAliveInterval 60
      ClientAliveCountMax 3
    • 重启SSH服务:systemctl restart sshd
  3. 检查网络连接是否稳定
  4. 尝试使用SSH密钥认证代替密码认证,有时可以提高连接稳定性

您可以按照以下步骤调整PuTTY窗口大小和字体:

  1. 调整窗口大小:
    • 在PuTTY配置中,展开"窗口"
    • 在"窗口大小"部分,设置"行数"和"列数"
    • 或者在连接后,直接拖动窗口边缘调整大小
  2. 调整字体:
    • 在PuTTY配置中,展开"窗口" > "外观"
    • 点击"字体设置"中的"更改"按钮
    • 选择喜欢的字体、样式和大小
  3. 调整字体大小:
    • 在已连接的会话中,可以使用Ctrl+鼠标滚轮放大或缩小字体
    • 或者在"窗口" > "外观"中设置"字体大小"

记得保存您的会话配置,以便下次使用相同的设置。

密钥认证

PuTTYgen是PuTTY套件中的密钥生成工具,使用方法如下:

  1. 从开始菜单启动PuTTYgen
  2. 在"密钥类型"下拉菜单中选择密钥类型(推荐RSA或ED25519)
  3. 设置密钥长度(RSA推荐至少2048位)
  4. 点击"生成"按钮,然后在空白区域随机移动鼠标生成随机数据
  5. 生成完成后,可以选择设置密钥密码(推荐)
  6. 点击"保存私钥"按钮,将私钥保存为.ppk文件
  7. 复制"公钥"文本框中的内容,用于配置服务器

详细的密钥配置教程请参考我们的SSH密钥认证配置指南

这个错误表示服务器拒绝了您的SSH密钥。可能的原因和解决方案如下:

  1. 检查公钥是否正确添加到服务器:
    • 确认公钥已正确添加到服务器上用户的~/.ssh/authorized_keys文件中
    • 确保公钥在文件中是单行的,没有换行或额外字符
  2. 检查文件权限:
    • 服务器上的.ssh目录权限应为700:chmod 700 ~/.ssh
    • authorized_keys文件权限应为600:chmod 600 ~/.ssh/authorized_keys
  3. 检查SSH服务器配置:
    • 确保服务器的sshd_config文件中启用了公钥认证:PubkeyAuthentication yes
    • 如果修改了配置,需要重启SSH服务:systemctl restart sshd
  4. 检查是否使用了正确的私钥文件
  5. 尝试重新生成密钥对并重新配置

要在多台计算机之间共享PuTTY配置,可以按照以下方法操作:

导出和导入PuTTY会话

  1. 导出会话:
    • 打开Windows注册表编辑器(regedit)
    • 导航到HKEY_CURRENT_USER\Software\SimonTatham\PuTTY
    • 右键点击"PuTTY"键,选择"导出"
    • 保存为.reg文件
  2. 导入会话:
    • 在目标计算机上,双击导出的.reg文件
    • 确认将信息添加到注册表

共享私钥文件

  1. 将.ppk私钥文件复制到目标计算机
  2. 确保私钥文件权限设置为仅当前用户可访问
  3. 在PuTTY配置中,重新指定私钥文件的位置

注意:私钥文件包含敏感信息,请确保安全传输和存储。建议为私钥设置强密码,以增加安全性。

文件传输

PSCP(PuTTY Secure Copy)是PuTTY套件中的命令行文件传输工具,使用方法如下:

从本地传输文件到远程服务器

pscp [选项] 本地文件 用户名@远程服务器:目标路径

# 示例:传输单个文件
pscp C:\local\file.txt user@example.com:/home/user/

# 示例:传输整个目录
pscp -r C:\local\directory user@example.com:/home/user/

从远程服务器传输文件到本地

pscp [选项] 用户名@远程服务器:源文件 本地路径

# 示例:传输单个文件
pscp user@example.com:/home/user/file.txt C:\local\

# 示例:传输整个目录
pscp -r user@example.com:/home/user/directory C:\local\

常用选项

  • -r:递归复制整个目录
  • -P:指定远程服务器端口
  • -i:指定私钥文件
  • -v:显示详细输出

注意:使用PSCP时,需要在Windows命令提示符或PowerShell中运行,而不是在PuTTY终端窗口中。

PSFTP(PuTTY SFTP Client)是PuTTY套件中的交互式SFTP客户端,提供了更友好的文件传输界面:

连接到远程服务器

psftp 用户名@远程服务器

# 示例
psftp user@example.com

# 指定端口
psftp -P 2222 user@example.com

# 使用密钥认证
psftp -i C:\path\to\key.ppk user@example.com

常用PSFTP命令

  • ls:列出远程目录内容
  • cd:更改远程目录
  • pwd:显示当前远程目录
  • lcd:更改本地目录
  • lpwd:显示当前本地目录
  • get 远程文件 [本地文件名]:下载文件
  • put 本地文件 [远程文件名]:上传文件
  • mget 远程文件模式:下载多个文件
  • mput 本地文件模式:上传多个文件
  • mkdir:创建远程目录
  • rmdir:删除远程目录
  • rm:删除远程文件
  • help:显示帮助信息
  • byequit:退出PSFTP

PSFTP支持命令行历史记录和自动完成功能,可以使用上下箭头键浏览历史命令,使用Tab键自动完成文件名。

其他问题

是的,PuTTY是一款完全免费且开源的软件,使用MIT许可证发布。您可以自由地使用、复制、修改和分发PuTTY,无需支付任何费用。

MIT许可证是一种宽松的开源许可证,允许几乎任何形式的使用,包括商业用途。这也是PuTTY在全球范围内广泛使用的原因之一。

PuTTY最初是为Windows操作系统开发的,但现在也有适用于其他操作系统的版本:

  • Windows:官方支持,功能最完整
  • Linux:有官方移植版本,可通过包管理器安装
  • macOS:有第三方移植版本,如PuTTY for Mac
  • 其他平台:有社区维护的各种平台移植版本

对于Linux和macOS用户,系统通常已经内置了SSH客户端(通过终端使用ssh命令),但有些用户仍然喜欢PuTTY的界面和功能。

更新PuTTY的方法如下:

  1. 访问PuTTY官方网站或我们的PuTTY中文官网下载页面
  2. 下载最新版本的PuTTY安装包
  3. 关闭所有正在运行的PuTTY窗口
  4. 运行下载的安装程序,按照向导完成安装
  5. 安装完成后,您的PuTTY将更新到最新版本

注意:更新PuTTY不会影响您已保存的会话配置,它们存储在Windows注册表中。但为了安全起见,建议在更新前备份您的PuTTY配置。

PuTTY与商业SSH客户端的主要区别包括:

价格

  • PuTTY:完全免费开源
  • 商业客户端:需要购买许可证

功能

  • PuTTY:提供基本的SSH功能,足够大多数用户使用
  • 商业客户端:通常提供更多高级功能,如标签式界面、内置文件传输GUI、更丰富的会话管理等

用户界面

  • PuTTY:界面相对简单,功能分布在多个配置页面
  • 商业客户端:通常提供更现代、更用户友好的界面

技术支持

  • PuTTY:主要依靠社区支持和文档
  • 商业客户端:提供专业的技术支持服务

对于大多数用户来说,PuTTY提供的功能已经足够满足日常使用需求。如果您需要更高级的功能或专业支持,可以考虑商业SSH客户端。

还有其他问题?

如果您在使用PuTTY过程中遇到了其他问题,或者需要更多帮助,请随时联系我们。

联系我们