SCP上传文件问题

时间:2011-02-17 13:40:37

标签: java ssh

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

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();
}

3 个答案:

答案 0 :(得分:1)

有两种解决方案:

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

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

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

答案 1 :(得分:0)

您可以使用authPassword方法进行身份验证。

答案 2 :(得分:0)

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

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