SCP使用ganymed / Java - 没有这样的文件或目录?

时间:2016-01-23 01:49:17

标签: java scp

我正在尝试使用Java的Ganymed将一个来自Windows服务器(安装了openSSH / Cygwin)的文件传输到Mac。我以编程方式获取当前目录的路径,但出于某种原因,它说找不到本地目录。这绝对是正确的道路,所以我不知道发生了什么。

Connection conn;
String hostname = "10.10.1.2";
String username = "myuser";
String password = "mypass";

String localDir = System.getProperty("user.dir");
String remoteFile = "/path/to/the/file.txt";

Connection conn = new Connection(hostname);
conn.connect();
conn.authenticateWithPassword(username, password);
SCPClient scp = conn.createSCPClient();
scp.put(remoteFile, 2815, localDir, "0644");
conn.close();

因为我使用的是.getProperty方法,所以我知道路径是正确的。此外,我有单独的方法ssh到Windows机器和启动/停止服务,所以我知道凭据是正确的。那为什么这不起作用?谢谢!

1 个答案:

答案 0 :(得分:0)

我收集此代码在Mac上运行,并且它应该将文件从Windows系统复制到mac?

scp.put(remoteFile, 2815, localDir, "0644");

put()操作将文件从本地系统传输到远程系统。您想调用get(),它将文件从远程系统传输到本地系统。用以下内容替换put()行:

scp.get(remoteFile, localDir);