是否可以通過java與服務器建立ssh連接?SSH連接Java
7
A
回答
4
是的,我在一個Java應用程序中使用http://sourceforge.net/projects/sshtools/來通過SSH連接到UNIX服務器,它工作得很好。
+0
好的,我會試試:) thx – Benni 2010-07-21 19:47:19
3
1
爲了連接到Java服務器,你需要一個SSHD的實現(SSH客戶端是不夠的)。您可以嘗試阿帕奇SSHD,
由於sshd的是已經在大多數系統上運行的,更簡單的方法是通過SSH隧道來連接到服務器。
2
是的,這是可能的。你可以試試下面的代碼:
package mypackage;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import java.io.*;
public class SSHReadFile
{
public static void main(String args[])
{
String user = "user";
String password = "password";
String host = "yourhostname";
int port=22;
String remoteFile="/home/john/test.txt";
try
{
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, port);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
System.out.println("Establishing Connection...");
session.connect();
System.out.println("Connection established.");
System.out.println("Crating SFTP Channel.");
ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp");
sftpChannel.connect();
System.out.println("SFTP Channel created.");
}
catch(Exception e){System.err.print(e);}
}
}
+0
完美。爲我工作。 – 2014-07-30 06:39:23
相關問題
- 1. Java和SSH:保持連接
- 2. 與Java的SSH連接
- 3. ssh連接上連接
- 4. ssh連接
- 5. SSH連接`authorized_keys`
- 6. Haskell SSH連接
- 7. C#SSH連接
- 8. 無法使用Java配置ssh連接
- 9. 用於java連接的Ganymed SSH問題
- 10. 使用Java中的JTA連接到SSH
- 11. SSH反向連接
- 12. ssh連接超時
- 13. Jelastic Apache SSH連接
- 14. ssh連接拒絕
- 15. SSH連接超時
- 16. SSH連接重載
- 17. PyMongo MongoClient SSH連接
- 18. 減少SSH連接
- 19. CentOS 7 ssh連接
- 20. SSH連接丟失
- 21. 通過SSH連接MySQL連接
- 22. Perl ssh連接並執行telnet連接
- 23. SSH連接無法斷開連接
- 24. 使用SSH密鑰驗證SSH連接
- 25. Net :: SSH :: Perl中的SSH連接超時
- 26. SSH通過另一個SSH連接
- 27. MacRuby:與net/ssh的SSH連接?
- 28. 如何命名SSH連接
- 29. SSH持久連接超時
- 30. GIT SSH連接問題
檢查[http://stackoverflow.com/questions/3071760/ssh-connection-with-java/9019095#9019095] – World 2012-03-08 09:00:56
FWIW,我在那些剛剛看了一下如下所列,並且sshtools僅在GPL許可下可用。 (jsch在BSD下可用,sshJ在Apache下可用。) – Mickalot 2013-05-20 14:46:17