远程复制文件到本地主机的scp命令返回错误

4
我需要在同一网络中的不同机器之间复制/传输一些文件。经过一些阅读和搜索,我认为尝试使用Java的jsch可能是一个不错的选择。但很遗憾,也许没有好的jsch文档可用。但是,我不知道还有其他选项。
为了实现文件传输,我选择了同一网络上的两台机器,比如host1(服务器),我在其中安装了sshd server,并且正在运行,我可以使用putty连接到它。第二台机器是host2(客户端/本地)。我也在这里安装了sshd。
现在,我尝试通过在连接到host1后在putty中运行以下命令将host1(服务器)桌面上的文件'test.txt'复制到host2(客户端) - scp admin@host1:test.txt /c 但是它返回以下错误 -
'scp' is not recognized as an internal or external command,
operable program or batch file.

我做错了什么?我想先在putty上尝试,然后在Java中实现。 这是我第一次使用jsch / ssh,所以任何帮助都会很棒。

3个回答

6

我只是从那里下载了Putty...但是在连接到远程运行sshd服务器的Windows 7机器后,scp命令似乎无法工作。mkdir命令确实可以工作。 - anujin
你也下载了 pscp.exe 吗? - Charles Boyd
糟糕...我的错了...现在我已经下载了pscp.exe。但是我在想怎么做呢? - anujin

6
你可以安装Windows版的Git (http://code.google.com/p/msysgit/)。Windows版的Git包含了SSH和SCP,你可以在使用Git Bash窗口时访问它们。然后你也可以使用Git进行源代码控制! :-)

在 git bash 窗口中,可以将文件从 Windows 主机通过 scp 命令传输到 Linux 主机;那么如何将文件从 Linux 主机传输到 git bash 窗口呢? - Shaun
你只需要反转scp命令。不再使用scp localhost-path user@remote-host:/remotehost-path,而是使用scp user@remote-host:/remotehost-path localhost-path - Keith John Hutchison
谢谢,@Keith John Hutchison;但是我在Linux主机上使用scp linux-file user@WINDOWS-HOST-IP:/windows-path,它不起作用。我得到了一个错误:ssh: connect to host WINDOWS-HOST-IP port 22: Connection refused lost connection,我能否从Linux主机将文件scp到Linux主机中的git bash窗口? - Shaun
Git for Windows 包含 SCP 和 SSH。你正在寻找 Windows 上的 SSHD。请参阅 https://winscp.net/eng/docs/guide_windows_openssh_server,这是我在 https://duckduckgo.com/?q=sshd+windows&atb=v110-5_b&ia=web 搜索时发现的。 - Keith John Hutchison
感谢您的建议,@Keith John Hutchison。 - Shaun

2
locate scp

为了确定您是否真正拥有它。

1
连 locate 命令都不好使 :(. 我试过用 mkdir 命令在远程目录中创建了一个文件夹。不确定为什么其他命令不能正常工作。 - anujin
是的...两台机器上都安装了Windows 7。 - anujin
那我会采纳Charles Boyd的建议。 - Ryan Knopp

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