freeSSHD无法通过scp访问。

8

我是在Windows A上运行freeSSHD,需要通过scp将文件传输到它。运行freesshd的Windows可以通过ssh客户端连接。但无论是Windows上的WinSCP还是Linux上的scp都无法连接到安装了freeSSHD的Windows。出现的错误如下:

在Linux上:

test@workstation:~$ scp -r /home/test/scptest test@192.168.91.238:/C:\Users\dejavu\Desktop
test@192.168.91.238's password: 
exec request failed on channel 0
lost connection

在Windows系统上:
选择“scp”协议传输文件,默认端口为22。错误信息为“主机未通信超过15秒,仍在等待...”。
1个回答

6

scp是双向协议之一,与其他许多事物一样。它要求客户端和服务器上都有 scp。当您发出复制命令时,ssh连接到指定的服务器并生成 scp 进程,而本地的 scp 则与其通信。在您的情况下,服务器上没有 scp,所以无法进行通信。

rsync 的行为方式完全相同。

我猜您可以尝试使用 sftp


谢谢你的提示!我现在可以通过“sftp”从winscp访问Windows上的freesshd了。但我的最终目的是使用fabric.operations.put/get与Windows上的freesshd传输文件。猜想我现在必须更改ssh服务器或使用替代方法来传输文件。 - Martian Puss
1
我认为你可以将 scp.exe 复制到系统目录之一(例如 C:\windows\system32 中的一个 PATH)。它不是 ssh 的一部分。如果我没记错,WinSCP 有一个。 - keltar
我的错。我以为Fabric在put/get中使用scp。实际上它使用的是sftp。现在在FreeSSHd中启用sftp就可以了!谢谢! - Martian Puss

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