java ssh 連線伺服器 檔案上傳,下載
阿新 • • 發佈:2020-12-18
package com.example.demo.util; import com.trilead.ssh2.Connection; import com.trilead.ssh2.ConnectionInfo; import com.trilead.ssh2.SCPClient; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; /** * @Author : Zhang * @Description : TODO * @Date : 2020/12/17 11:01 * @Versions : 1.0 **/ public class SSHUtil { /** * ssh連線到伺服器 上傳檔案 * @param host ip地址 * @param port 埠 * @param userName 使用者名稱 * @param password 密碼 * @param privateKeyFile 本地金鑰的目錄地址 * @return * @throws IOException */ public static void getSSHConnection(String host, int port, String userName, String password, String privateKeyFile) throws IOException { Connection con = new Connection(host, port); try { ConnectionInfo connect = con.connect(); boolean isAuthed =con.authenticateWithPublicKey(userName,new File(privateKeyFile),password); //boolean isAuthed = con.authenticateWithPassword("root", "SsUTUJrpfA6RDBZnX"); //【2-1】建立SCP客戶端,執行封裝的方法 SCPClient scpClient = con.createSCPClient(); //從伺服器獲取檔案 //scpClient.get("/mnt/test.txt", "F:/yangyc/"); //將本地檔案上傳到伺服器 scpClient.put("H:/360-phone/20201215/zpp.txt", "/home/yw/zpp/"); } catch (Exception e) { e.printStackTrace(); } } //上傳檔案測試main函式 public static void main(String[] args) { try { getSSHConnection("47.100.53.259",22,"user","passWord","H:/id_rsa_2048"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
jar包:
<dependency> <groupId>org.tmatesoft.svnkit</groupId> <artifactId>svnkit</artifactId> <version>1.10.1</version> </dependency>