Czy jest możliwe utworzenie połączenia ssh z serwerem za pomocą java?Połączenie SSH Java
Odpowiedz
Tak, użyłem http://sourceforge.net/projects/sshtools/ w aplikacji Java do połączenia z serwerem UNIX przez SSH, działało całkiem dobrze.
OK, spróbuję :) thx – Benni
jsch i sshJ są dobrymi klientami. Osobiście użyłbym sshJ, ponieważ kod jest udokumentowany znacznie dokładniej.
jsch ma szerokie zastosowanie, w tym w zaćmieniu i mrówko apache. Miałem też problemy z zaszyfrowanymi kluczami prywatnymi jsch i AES, które wymagały ponownego szyfrowania w 3DES, ale to mógłbym być ja.
ok biblioteka jscha działała dobrze i była bardzo łatwa do wdrożenia. Dziękuję za Twoją odpowiedź. – Benni
Aby nawiązać połączenie z serwerami Java, potrzebna jest implementacja SSHD (klient ssh to za mało). Można spróbować Apache sshd,
Ponieważ sshd już działa na większości systemów, łatwiej alternatywą jest połączyć się z serwerem przez tunel SSH.
Tak, jest to możliwe. Można spróbować następujący kod:
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);}
}
}
perfect. pracował dla mnie. –
- 1. prymitywne połączenie ssh (lowlevel)
- 2. Biblioteka Java SSH dla Androida?
- 3. SSH Tunel dla Pythona MySQLdb połączenie
- 4. połączenie ssh na przystanek „debug1: SSH2_MSG_KEXINIT wysłane”
- 5. SSH - Połączenie zresetowane przez peer - Linux Host
- 6. Biblioteka SSH dla Java
- 7. Podstawowe połączenie Firebase Java
- 8. Jak rozłączyć połączenie ssh za pomocą węzła-ssh w węźle js
- 9. Jak utworzyć skrypt bash, aby sprawdzić połączenie SSH?
- 10. Jak sprawdzić, czy połączenie SSH zostało ustanowione z instancją AWS
- 11. Czy w Netbeans można wykonać połączenie SSH dla projektów PHP?
- 12. Połączenie SSH z MySQL przy użyciu biblioteki SSH.NET
- 13. połączenie mongodb połączenie
- 14. SSH w aplikacji Java z "oczekiwaną" funkcjonalnością
- 15. Instalacja java na linux używając ssh
- 16. Rozszerzenie java.sql.Connection dla SSH
- 17. Java ~ Wysyła wyliczenie przez połączenie z gniazdem
- 18. Jak zmienić mysql timezone w java połączenie
- 19. Połączenie Java OracleB po zbyt długim czasie
- 20. połączenie gniazda testowego z językiem Java
- 21. Atrybut noża SSH nie działa
- 22. Przesyłanie portów SSH w pliku ~/.ssh/config?
- 23. Net :: SSH :: Perl korzystając przekazywane SSH klucz
- 24. Jak załadować publiczny klucz ssh z pliku w java?
- 25. Tuning SSH X11
- 26. Uruchamianie qemu zdalnie (przez ssh)
- 27. io.on ("połączenie", ...) kontra io.sockets.on ("połączenie", ...)
- 28. Usuń połączenie lub Zamknij połączenie
- 29. Klucz SSH na dreamhost
Sprawdź [http://stackoverflow.com/questions/3071760/ssh-connection-with-java/9019095#9019095] – World
FWIW, wziąłem szybki rzut oka na te wymienione poniżej, a sshtools jest dostępny tylko na licencji GPL. (jsch jest dostępny pod BSD, a sshJ jest dostępny pod Apache.) – Mickalot