我需要通过同一网络在不同机器之间复制/传输一些文件。在做了一些阅读和搜索后,我认为尝试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,所以任何帮助都会很棒。
答案 0 :(得分:4)
如果您需要scp
来自Windows的内容,那么为什么不简单地使用pscp
来实现这一目标呢?
您可以从PuTTy
网站下载。
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
如果要在Java程序中使用它,那么这是一个示例:http://www.jcraft.com/jsch/examples/ScpFrom.java.html
答案 1 :(得分:4)
您可以为Windows安装git(http://code.google.com/p/msysgit/)。 Git for windows包含ssh和scp,使用git bash窗口时可以访问它们。
然后你也可以使用git进行源代码控制! : - )
答案 2 :(得分:1)
locate scp
看看你是否真的拥有它。