ssh_init: 网络错误:无法分配请求的地址。

69

我正在尝试在Windows 10平台上使用putty建立连接和传输文件。我已确认putty的默认端口为22。但是,当我在命令行中运行连接和传输文件的命令时,出现了上述错误。您有任何想法为什么会这样或者我该怎么做吗?

5个回答

165

你试过这个吗:

pscp -P 22 c:\documents\foo.txt user@example.com:/tmp/foo

11
端口为什么必须显式定义? - mlhDev
4
当使用pscp -v(详细)命令时,它会打印出“连接到example.com端口0”的信息。因此,看起来pscp的默认端口是0,而不是通常的22号端口,这很奇怪。 - Alex Che
8
这是一个已知的bug,在干净的机器上会出现,它有两种解决方法。TomRod的答案给出了更可取的一次性永久解决方案。 - yoyoma2
对我来说起作用了。虽然我希望它使用的是默认端口22。 - Arjun Mudhaliyar
我使用了小写字母的 -p 参数,该参数用于保留文件属性。正确的应该是大写字母的 -P 参数,该参数用于指定端口。要查看所有选项,请在命令提示符中输入 pscp。 - ImFarhad

20

尽管端口22显示为默认值,但我不得不进入Putty默认设置并再次“保存”它们。对我有用,避免每次都添加-P 22选项。


1
这对我来说也是如此。不确定进入该状态需要什么,但对我来说,它是在一个相当新的安装上。在putty中,“默认设置”保存的会话显示端口22,并且重新加载保持端口22。但确实,再次保存它会使pscp开始对我给出的每个IP使用端口22,而不是它一直使用的端口0。奇怪。 - aggieNick02
1
这应该是被接受的解决方案,因为它是一次性的修复。答案应该指定 Putty 默认设置,因为它们也会影响到不同的 pscp.exe 工具。 - yoyoma2
对我来说,-P 22 和再次保存 Putty 的默认设置都可以,但我更喜欢默认设置。谢谢 @Martha。 - Jawad Khan

6
我遇到了相同的错误,最终来到这个页面。使用-P 22没有解决我的问题。
我使用Putty保存会话,并仔细核对了命令行,结果与原帖作者相同。
我使用的命令如下: pscp -l SESSION_NAME_IN_PUTTY ip:/remote_path local_path 我查看了pscp的命令行选项并将-l改为-load,然后它就工作了。
最后的命令如下所示: pscp -load SESSION_NAME_IN_PUTTY ip:/remote_path local_path 注意:如果你仍然遇到错误,请检查SESSION_NAME_IN_PUTTY的拼写是否完全正确。只错一个字母也可能导致相同的错误。

请确保在通过 pscp 推送目录时添加 -r - KeyC0de
这对我来说尤其重要,因为我的服务器需要多重身份验证。 - RonJohn

0
在我的情况下,我在 Putty 中创建了一个缩短的“会话名称”——即完整主机名的缩写。这对于大多数 Putty 功能都有效,但是当我尝试使用 pscp 时,我发现需要拥有与主机名相同的会话名称。

0
在我的情况下,我遇到了这个错误,因为Raspbian中未启用SSH。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接