2011-02-17 130 views
0

我需要上传SCP文件。我在stackoverflow上找到这个库http://code.google.com/p/commons-net-ssh/ 我下载.jar并添加到BuildPath,但是如何添加用户名和密码到这个? 我试过这个,但它不起作用。如果你有其他图书馆这样做,它会没事的。任何帮助?SCP上传文件问题

SSHClient ssh = new SSHClient(); 
//ssh.useCompression(); 
ssh.loadKnownHosts(); 
ssh.connect("localhost"); 
try { 
    ssh.authPublickey(System.getProperty("user.name")); 
    new SCPDownloadClient(ssh).copy("ten", "/tmp"); 
} finally { 
    ssh.disconnect(); 
} 

回答

1

解决办法有两个:

  1. 您可以创建一个密钥对ssh-keygen没有一个密码短语。使用authPublickey(java.lang.String username, java.lang.String... locations)选择连接的密钥。

  2. 您可以将密码保存在Java代码可以读取的文件中。

两种解决方案的安全性大致相同:完全取决于谁可以读取密码/密钥文件。只能由运行Java代码的用户读取。

0
SCPClient scp = conn.createSCPClient(); 
scp.put(localFileLoc,zipFileName,""/temp,"0777"); 

这有助于我使用SCP。我用过ganymed-ssh2-build251beta1.jar