2016-01-23 50 views
0

我正在嘗試從Windows服務器(使用openSSH/Cygwin安裝)將SCP文件傳輸到使用Java的Ganymed的Mac。我以編程方式獲取當前目錄的路徑,但由於某種原因,它說本地目錄未找到。這絕對是正確的道路,所以我不知道發生了什麼。使用ganymed/Java的SCP - 沒有這樣的文件或目錄?

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窗口機器和啓動/停止服務,所以我知道憑據是正確的。那麼爲什麼這不起作用呢?謝謝!

回答

0

我收集此代碼在Mac上運行,它應該從Windows系統複製文件到Mac?

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

put()操作將文件從本地系統傳輸到遠程系統。你想調用get(),它將文件從遠程系統傳輸到本地系統。用這樣的東西替換put()行:

scp.get(remoteFile, localDir); 
+0

首先 - 謝謝!不知道我是如何錯過的。不過,我仍然遇到了問題,原因是[文檔](http://www.ganymed.ethz.ch/ssh2/javadoc/)指的是比[當前版本](http ://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2/262)。我在我的pom.xml中切換到了'build210'版本,並能夠使用ganymed,因爲它沒有問題。 (添加此爲任何人的未來參考) – kroe761

相關問題