Alamat:http://www.cleondris.ch/en/opensource-ssh2.php
Jawabannya:
Ganymed SSH-2 untuk Java adalah perpustakaan yang mengimplementasikan protokol SSH-2 di Java murni (diuji pada J2SE 1.4.2 dan 5.0). Ini memungkinkan seseorang untuk terhubung ke server SSH dari dalam program Java. Ini mendukung sesi SSH (eksekusi perintah jarak jauh dan akses shell), penerusan port lokal dan jarak jauh, penerusan aliran lokal, penerusan X11, SCP dan SFTP. Tidak ada ketergantungan pada penyedia JCE mana pun, karena semua fungsi kripto disertakan.
程序:
复制代码代码如下:
@Tes
kekosongan publik testSsh() {
String nama host = "192.168.0.1";
String nama pengguna = "root";
String kata sandi = "kata sandi";
mencoba {
/* Membuat instance koneksi */
Koneksi koneksi = Koneksi baru (nama host);
/* Sekarang sambungkan */
samb.connect();
System.out.println("koneksi oke");
/*
* Otentikasi. Jika Anda mendapatkan IOException yang mengatakan sesuatu seperti
* "Kata sandi metode otentikasi tidak didukung oleh server pada tahap ini."
*lalu silakan periksa FAQ.
*/
boolean isAuthenticated = conn.authenticateWithPassword(nama pengguna, kata sandi);
jika (diautentikasi == salah)
throw new IOException("Otentikasi gagal.");
System.out.println("Otentikasi oke");
/* Membuat sesi */
Sesi sesi = samb.openSession();
sess.execCommand("uname -a");
System.out.println("Berikut adalah beberapa informasi tentang host jarak jauh:");
/*
* Contoh dasar ini tidak menangani stderr, yang terkadang memang demikian
* berbahaya (silahkan baca FAQ).
*/
InputStream stdout = StreamGobbler baru(sess.getStdout());
BufferedReader br = BufferedReader baru(InputStreamReader baru(stdout));
sementara (benar) {
Garis string = br.readLine();
jika (baris == nol)
merusak;
System.out.println(baris);
}
/* Tampilkan status keluar, jika tersedia (jika tidak "null") */
System.out.println("Kode Keluar: " + sess.getExitStatus());
/* Tutup sesi ini */
sess.close();
/* Tutup koneksi */
samb.close();
} tangkapan (IOException e) {
e.printStackTrace(System.err);
Sistem.keluar(2);
}
}
运行结果:
复制代码代码如下:
terhubung oke
Otentikasi oke
Berikut beberapa informasi tentang host jarak jauh:
Linux localhost.localdomain 2.6.22 #1 SMP Rabu 13 Agustus 11:24:59 CST 2008 i686 i686 i386 GNU/Linux
Kode Keluar: 0