有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在尝试使用以下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代码中使用此用户/密码时,我收到:

Error: com.jcraft.jsch.JSchException: Auth fail

共 (1) 个答案

  1. # 1 楼答案

    Amazon EC2的SSH/SFTP用户名为:

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

    • 对于RHEL AMI,用户名是ec2-userroot

    • 对于Ubuntu AMI,用户名是ubunturoot

    • 对于Centos AMI,用户名是centos

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

    • 对于SUSE,用户名是ec2-userroot

    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html


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

    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html


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

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