2015-04-02 71 views
0

如何將RHEL linux盒子中的文件從另一個RHEL linux盒子沒有密碼,沒有使用URI的Java用戶名使用SCPClient?我知道如何做一個無密碼的ssh,並且我可以在沒有密碼的情況下給SCP一個文件,但是我無法在沒有用戶名的情況下讓它工作。Java中帶有URI但不帶密碼和用戶名的SCP

這裏是我的猜測:

來源:文件:///home/username/temp.txt

目的地:SCP://@192.168.1.1:/首頁/用戶名/

+0

我可以想象很少有效的情況下,不需要SSH/SCP的密碼(或密鑰)... – SnakeDoc 2015-04-02 14:41:59

回答

0

你有沒有試過scp://[email protected]:/home/username/

+0

我知道這樣的作品。問題是,當我想要SCP時,我不知道「用戶名」。 – Everlight 2015-04-02 14:41:01

+0

然後你不能SSH/SCP。 SSH/SCP無法單獨確定公鑰的使用。 – 2015-04-02 14:42:32

+0

@Everlight用戶名是強制性的...... SCP通過SSH ...您正在登錄到遠程盒子。 – SnakeDoc 2015-04-02 14:42:41

0

根據SCPClient頁面我會說這是不可能的。所以,最好的方法是做

SCPClient scpc = new SCPClient 
scpc.setRemoteHost("192.168.1.1"); 
scpc.getValidator().setHostValidationEnabled(false); 
scpc.setAuthentication("/home/username/.ssh/id_rsa", System.getProperty("user.name"), ""); 
scpc.connect(); 
scpc.put("file:///home/username/temp.txt", "scp://" + System.getProperty("user.name") + "@192.168.1.1:/home/username/"); 

爲了我的目的,它安全地假設遠程用戶名與本地用戶名相同。

相關問題