/** *实现服务器连接 * @param host * @param port * @param username * @param password * @param privateKeyFile * @return * @throws IOException */ public static Connection getSSHConnection(String host,int port,String username,String password,String privateKeyFile) throws IOException { Connection connection=new Connection(host,port); connection.connect(); File file=new File(privateKeyFile); System.out.println(file); boolean b=connection.authenticateWithPublicKey(username,file,password); System.out.println(b); if (b){ return connection; }else { System.out.println("登录连接失败,请检查用户名、密码、私钥文件"); return null; } }
/** *实现下载服务器上的文件到本地指定目录 * @param conn SSH连接信息 * @param fileName 服务器上的文件地址/opt/scf2/log/loanorder/all.log * @param localPath 本地路径:D:\ * @throws IOException */ public void getFile(Connection conn, String fileName,String localPath) throws IOException{ SCPClient scpClient=conn.createSCPClient(); //String logPath="cd /opt/scf2/log/loanorder"; //Session session = conn.openSession(); //session.execCommand(logPath);//执行shell命令 scpClient.get(fileName,localPath); } /** *实现上传本地文件到服务器上指定目录 * @param conn SSH连接信息 * @param fileName D:\a.txt * @param localPath 服务器地址路径:/opt/scf2/log/loanorder * @throws IOException */ public void putFile(Connection conn, String fileName,String localPath) throws IOException{ SCPClient scpClient=conn.createSCPClient(); scpClient.put(fileName,localPath); }