使用JSch库自动连接到SFTP服务器

时间:2020-07-24 08:24:30

标签: java sftp

我正在尝试使用JSch库连接到SFTP服务器。当我运行此类时,它要求输入用户名和密码。是否有可能在不询问用户名和密码的情况下自动进行连接?如果无法使用JSch库,是否还有其他库可以做到这一点?谢谢!

我的代码和结果是:

import java.util.Properties;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;

public class SFTPTest {

public static void main(String[] args) throws JSchException, SftpException {

   String hostname = "hostname";
   int port = 22;
   String user = "myUser";
   String pass = "myPass";

try {
   Properties config = new Properties();
   config.put("StrictHostKeyChecking", "no");

   JSch ssh = new JSch();
   Session session = ssh.getSession(user, hostname, port);
   session.setConfig(config);
   session.setPassword(pass);
   session.connect();

   ChannelSftp sftp = (ChannelSftp) session.openChannel("sftp");
   sftp.connect();

   // display home directory
   System.out.println("Home directory is: " + sftp.pwd());

   sftp.disconnect();
   session.disconnect();

   } catch (JSchException | SftpException e) {
     e.printStackTrace();
   }
  }
}

结果是:

Kerberos username: myUser
Kerberos password for myUser: myPass
Home directory is: /

0 个答案:

没有答案