關於ganymed-ssh2版本262和build210的SCPClient類的區別


ganymed-ssh2是通過java使用ssh連接服務器的工具庫,先上兩個版本的pom文件配置:
<!--ssh連接linux-->
<!-- https://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2 -->
<dependency>
   <groupId>ch.ethz.ganymed</groupId>
   <artifactId>ganymed-ssh2</artifactId>
   <version>build210</version>
</dependency>
 
        
<!--ssh連接linux-->
<!-- https://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2 -->
<dependency>
   <groupId>ch.ethz.ganymed</groupId>
   <artifactId>ganymed-ssh2</artifactId>
   <version>262</version>
</dependency>
網絡上大部分人使用的還是build210版本,本人之前使用262版本,無奈不想自己寫文件上傳下載代碼,改用了build210版。
這是build210的SCPClient包括的方法,其中包括了文件的下載(get)、文件的上傳(put)使用起來直接調用非常方便:

 

262版本的SCPClient相比build210缺少了許多方法,只能夠從服務器get文件,但是put方法還需要搭配其他類使用,無法直接上傳文件服務器,可能是將相應的功能移去了其他模塊:

 

 
        

下面是build210版文件上傳、下載案例:

public class ScpOpt {

    static String ip = "127.0.0.2";
    static String LiuxUser = "root";
    static String LiuxPawd = "xxxx";
public static void downloadFile() {
        Connection conn = new Connection(ip);
        Session session = null;// 打開一個會話
        try {
            conn.connect();//建立連接
            boolean login = conn.authenticateWithPassword(LiuxUser, LiuxPawd);//根據用戶名密碼,進行校驗 
            if (login) {
                System.out.println("登錄成功");
            } else {
                System.out.println("登錄失敗");
            }
            SCPClient scpClient = conn.createSCPClient();
            //從遠程機器獲取文件
            scpClient.get("遠程文件/root/docker-install.sh", "本地文件夾");
            conn.close();
            session.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    public static void uploadFile() {
        Connection conn = new Connection(ip);
        try {
//建立連接 conn.connect();
//根據用戶名密碼,進行校驗
boolean login = conn.authenticateWithPassword(LiuxUser, LiuxPawd); if (login) { System.out.println("登錄成功"); } else { System.out.println("登錄失敗"); } SCPClient scpClient = conn.createSCPClient();
//上傳文件 scpClient.put(
"本地文件docker-install.sh", "遠程機器目錄/root/scp"); conn.close(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { // downloadFile(); uploadFile(); } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM