Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从何处获取JSch连接到AWS EC2的用户名/密码?_Java_Ssh_Amazon Ec2_Sftp_Jsch - Fatal编程技术网

Java 从何处获取JSch连接到AWS EC2的用户名/密码?

Java 从何处获取JSch连接到AWS EC2的用户名/密码?,java,ssh,amazon-ec2,sftp,jsch,Java,Ssh,Amazon Ec2,Sftp,Jsch,我正在尝试使用以下Java代码连接到EC2实例: Properties config = new Properties(); config.put("StrictHostKeyChecking", "no"); Session session = jSch.getSession(username, EC2-IP, 22); session.setPassword(password); session.setConfig(config); session.connect(); 在EC2 IAM

我正在尝试使用以下Java代码连接到EC2实例:

Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
Session session = jSch.getSession(username, EC2-IP, 22);
session.setPassword(password);
session.setConfig(config);
session.connect();
在EC2 IAM web控制台中,我创建了一个用户/密码,可以使用它登录AWS管理控制台。但当我在上述Java代码中使用此用户/密码时,我收到:

错误:com.jcraft.jsch.JSchException:Auth fail

Amazon EC2的SSH/SFTP用户名为:

  • 对于Amazon Linux AMI,用户名是
    ec2 user

  • 对于RHEL AMI,用户名是
    ec2 user
    root

  • 对于Ubuntu AMI,用户名是
    Ubuntu
    root

  • 对于Centos AMI,用户名为
    Centos

  • 对于Fedora AMI,用户名是
    ec2 user

  • 对于SUSE,用户名是
    ec2 user
    root


要进行身份验证,请使用创建实例时与实例关联的私钥


通常,您应该首先设置并测试与一些独立SFTP/SSH客户端的连接。然后才试着用你的代码连接


我为你写了一本指南。如果您遵循它并成功连接到WinSCP,那么使用JSch代码也应该很容易做到这一点。

不要使用
strichHostKeyChecking=no
。这样做会让你失去安全感!使用Jsch时是否必须使用ec2密钥对(即.pem文件)?只有使用用户/密码才能连接?这是最好的方法。但如果您愿意,您可以肯定地允许密码身份验证。您必须首先使用密钥登录到服务器,因为这是最初唯一的方法。不管怎么说,你们越来越离题了。这不再是编程问题了。我正在编写一个Java程序来模拟Filezilla FTP,它只需要用户/密码。我知道ApacheNet包可以做到这一点。我试图让Jsch来做(仅使用用户/密码连接)对不起,这没有意义。使用默认的EC2设置,无论您使用的是什么客户端软件或库,都不能使用用户名/密码对EC2进行身份验证。那么,您试图模拟的是什么如果您可以使用用户名/密码通过SSH/SFTP连接FileZilla,那么您可以使用JSch进行同样的操作。那么我不明白,你的问题是关于什么的。您必须知道您在FileZilla中使用的用户名/密码。并且Apache Net库不支持SFTP/SSH!你不是真的在FileZilla和/或ApacheNet中使用FTP吗?那是完全不同的协议!