ที่มา:http://www.cleondris.ch/en/opensource-ssh2.php
简介:
Ganymed SSH-2 สำหรับ Java เป็นไลบรารีที่ใช้โปรโตคอล SSH-2 ใน Java ล้วนๆ (ทดสอบบน J2SE 1.4.2 และ 5.0) อนุญาตให้เชื่อมต่อกับเซิร์ฟเวอร์ SSH จากภายในโปรแกรม Java รองรับเซสชัน SSH (การดำเนินการคำสั่งระยะไกลและการเข้าถึงเชลล์), การส่งต่อพอร์ตภายในและระยะไกล, การส่งต่อสตรีมในเครื่อง, การส่งต่อ X11, SCP และ SFTP ไม่มีการพึ่งพาผู้ให้บริการ JCE ใดๆ เนื่องจากมีฟังก์ชันการเข้ารหัสทั้งหมดรวมอยู่ด้วย
程序:
复制代码代码如下:
@ทดสอบ
โมฆะสาธารณะ testSsh() {
ชื่อโฮสต์สตริง = "192.168.0.1";
ชื่อผู้ใช้สตริง = "root";
รหัสผ่านสตริง = "รหัสผ่าน";
พยายาม {
/* สร้างอินสแตนซ์การเชื่อมต่อ */
การเชื่อมต่อ conn = การเชื่อมต่อใหม่ (ชื่อโฮสต์);
/* ตอนนี้เชื่อมต่อ */
conn.เชื่อมต่อ();
System.out.println("เชื่อมต่อตกลง");
-
* รับรองความถูกต้อง หากคุณได้รับ IOException พูดอะไรบางอย่างเช่น
* "รหัสผ่านวิธีการรับรองความถูกต้องไม่รองรับโดยเซิร์ฟเวอร์ในขั้นตอนนี้"
* จากนั้นโปรดตรวจสอบคำถามที่พบบ่อย
-
บูลีน isAuthenticated = conn.authenticateWithPassword (ชื่อผู้ใช้, รหัสผ่าน);
ถ้า (ได้รับการรับรองความถูกต้อง == เท็จ)
โยน IOException ใหม่ ("การรับรองความถูกต้องล้มเหลว");
System.out.println("ยืนยันความถูกต้องแล้ว");
/* สร้างเซสชัน */
เซสชั่นเซสชัน = conn.openSession();
sess.execCommand("uname -a");
System.out.println("นี่คือข้อมูลบางส่วนเกี่ยวกับรีโมตโฮสต์:");
-
* ตัวอย่างพื้นฐานนี้ใช้ไม่ได้กับ stderr ซึ่งบางครั้งอาจเป็นเช่นนั้น
* เป็นอันตราย (โปรดอ่านคำถามที่พบบ่อย)
-
InputStream stdout = StreamGobbler ใหม่ (sess.getStdout());
BufferedReader br = BufferedReader ใหม่ (InputStreamReader ใหม่ (stdout));
ในขณะที่ (จริง) {
เส้นสตริง = br.readLine();
ถ้า (บรรทัด == null)
หยุดพัก;
System.out.println (บรรทัด);
-
/* แสดงสถานะการออก ถ้ามี (มิฉะนั้น "null") */
System.out.println("รหัสทางออก: " + sess.getExitStatus());
/* ปิดเซสชั่นนี้ */
เซส.ปิด();
/* ปิดการเชื่อมต่อ */
conn.ปิด();
} จับ (IOException จ) {
e.printStackTrace(System.err);
ระบบทางออก(2);
-
-
运行结果:
复制代码代码如下:
เชื่อมต่อตกลง
การรับรองความถูกต้องตกลง
นี่คือข้อมูลบางส่วนเกี่ยวกับโฮสต์ระยะไกล:
Linux localhost.localdomain 2.6.22 #1 SMP วันพุธที่ 13 สิงหาคม 11:24:59 CST 2008 i686 i686 i386 GNU/Linux
รหัสทางออก: 0