如何將RHEL linux盒子中的文件從另一個RHEL linux盒子沒有密碼,沒有使用URI的Java用戶名使用SCPClient?我知道如何做一個無密碼的ssh,並且我可以在沒有密碼的情況下給SCP一個文件,但是我無法在沒有用戶名的情況下讓它工作。Java中帶有URI但不帶密碼和用戶名的SCP
這裏是我的猜測:
來源:文件:///home/username/temp.txt
目的地:SCP://@192.168.1.1:/首頁/用戶名/
如何將RHEL linux盒子中的文件從另一個RHEL linux盒子沒有密碼,沒有使用URI的Java用戶名使用SCPClient?我知道如何做一個無密碼的ssh,並且我可以在沒有密碼的情況下給SCP一個文件,但是我無法在沒有用戶名的情況下讓它工作。Java中帶有URI但不帶密碼和用戶名的SCP
這裏是我的猜測:
來源:文件:///home/username/temp.txt
目的地:SCP://@192.168.1.1:/首頁/用戶名/
你有沒有試過scp://[email protected]:/home/username/
?
根據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/");
爲了我的目的,它安全地假設遠程用戶名與本地用戶名相同。
我可以想象很少有效的情況下,不需要SSH/SCP的密碼(或密鑰)... – SnakeDoc 2015-04-02 14:41:59