You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10下使用PuTTY连接传输文件遇网络错误求助

解决PuTTY在Windows 10下的"ssh_init: Network error: Cannot assign requested address"错误

我之前帮朋友排查过这个PuTTY的错误,结合Windows 10环境下的常见场景,这个ssh_init: Network error: Cannot assign requested address错误大多和网络配置、目标地址有效性或者PuTTY自身设置有关,下面分情况给你具体的排查和解决步骤:

1. 目标主机地址错误或网络不可达

这是最常见的原因,先从最基础的地方排查:

  • 仔细核对你输入的远程主机IP/域名,别犯低级错误(比如把192.168.1.10写成192.168.1.100,或者把内网IP当成公网IP用来连接外部服务器)。
  • 打开Windows命令提示符,用ping 目标主机地址测试连通性,如果ping不通,说明网络层面就没连上目标主机:
    • 确认目标主机是否开机、是否处于同一局域网(如果是内网连接)。
    • 检查目标主机的防火墙是否放行22端口(SSH默认端口),如果是公网服务器,还要确认服务商的安全组是否开放了22端口。
  • 也可以用telnet 目标主机地址 22测试端口是否开放,如果提示“无法打开到主机的连接”,说明端口被拦截或服务未启动。

2. 本地网络适配器冲突或异常

Windows的多网卡(有线、无线、虚拟网卡)有时候会导致IP绑定问题:

  • 先尝试重置当前网络适配器:打开「控制面板→网络和共享中心→更改适配器设置」,右键你正在使用的网卡(比如Wi-Fi或以太网),选择「禁用」,等待5秒后再「启用」,然后重新尝试PuTTY连接。
  • 如果你的电脑有虚拟网卡(比如VMware、VirtualBox的虚拟网络适配器),可以暂时禁用这些虚拟网卡,避免IP冲突干扰连接。
  • 检查本地IP是否和局域网内其他设备冲突:如果是自动获取IP,改成手动设置一个静态IP(确保和网关在同一网段,且没有被其他设备占用)。

3. PuTTY会话配置或命令行参数错误

有时候旧的会话配置会留坑,或者命令行参数输入错误:

  • 别用之前保存的PuTTY会话,新建一个全新的空白会话,手动输入目标主机地址和端口22,直接点击「Open」测试连接,排除旧配置的干扰。
  • 如果是用命令行工具(比如pscp传输文件、plink连接),仔细检查命令参数:
    比如正确的pscp传输命令应该是:
    pscp C:\local\file.txt username@target_host:/remote/path/
    
    别把target_host写成了本地IP,也别加了多余的参数(比如错误指定了本地绑定地址)。

4. Windows防火墙或杀毒软件拦截

Windows Defender或第三方杀毒软件可能会拦截PuTTY的SSH请求:

  • 暂时关闭Windows Defender防火墙测试:打开「控制面板→Windows Defender防火墙→启用或关闭Windows Defender防火墙」,选择「关闭」(测试完记得重新打开),如果此时能正常连接,就给PuTTY添加防火墙例外规则:
    在防火墙的「高级设置」里,新建一条入站/出站规则,允许PuTTY.exe(和pscp.exe、plink.exe)通过防火墙。
  • 检查第三方杀毒软件的网络防护模块,看看是否把PuTTY加入了黑名单,改成「允许」即可。

5. 远程主机SSH服务配置异常

如果前面的排查都没问题,可能是远程主机的SSH服务设置有问题:

  • 登录远程主机,打开SSH配置文件(通常是/etc/ssh/sshd_config),检查两个关键参数:
    • Port:确认是否设置为22(如果改成了其他端口,你需要在PuTTY里对应修改端口)。
    • ListenAddress:如果设置成了特定IP,只有该IP能访问SSH服务,改成0.0.0.0允许所有IP访问。
  • 修改配置后,重启SSH服务:比如Linux系统执行systemctl restart sshd,然后再尝试连接。

内容的提问来源于stack exchange,提问作者user12799293

火山引擎 最新活动