Java中的SCP,URI没有密码和用户名

时间:2015-04-02 14:22:33

标签: java linux ssh scp

如何使用SCPClient将没有密码且没有使用URI的用户名从RHEL linux盒子传输到另一个RHEL linux盒子的文件?我知道如何进行无密码ssh,我可以在没有密码的情况下将SCP保存为文件,但是我在没有用户名的情况下无法使用它。

这是我的猜测:

来源:file:///home/username/temp.txt

目的地:scp://@192.168.1.1:/ home / username /

2 个答案:

答案 0 :(得分:0)

您是否尝试过scp://username@192.168.1.1:/home/username/

答案 1 :(得分: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/" );

出于我的目的,可以安全地假设远程用户名与本地用户名相同。