C:\Users\javac>ssh -i "DemoServer.pem" [email protected]
The authenticity of host 'ec2-52-15-253-230.us-east-2.compute.amazonaws.com (52.15.253.230)' can't be established.
ED25519 key fingerprint is SHA256:1tnx8yPhul2O6mLjYH3lps7EDWaQt+UpgVGso8JsdGg.
This host key is known by the following other names/addresses:
C:\Users\javac/.ssh/known_hosts:1: ec2-18-217-154-12.us-east-2.compute.amazonaws.com
C:\Users\javac/.ssh/known_hosts:2: ec2-13-58-233-206.us-east-2.compute.amazonaws.com
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'ec2-52-15-253-230.us-east-2.compute.amazonaws.com' (ED25519) to the list of known hosts.
[email protected]: Permission denied (publickey).
如果我尝试从 Ubuntu 在 vbox 中运行,我会得到同样的结果。
我确实检查过并且正确的端口应该是打开的。sshd 正在服务器上运行。
我使用的 pem 文件不是我生成的第一个文件。而是第三个或第四个。
我检查了 Windows 和 Linux 权限并尝试将其设置为对 pem 文件不公开。
在我收到此消息之前,我收到一条消息说 pem 文件太开放。
答案1
好的,看来在您创建初始 ec2 并创建一个 pem 文件后,如果不在 ec2 中执行一些步骤在服务器端修复它,您就无法再创建一个新的文件。
停止正在运行的 EC2 实例。
分离其 /dev/xvda1 卷(我们称之为卷 A)。
使用新的密钥对启动新的 t1.micro EC2 实例。确保在同一个子网中创建它,否则您将不得不终止该实例并重新创建它。
将卷 A 附加到新的微实例,作为 /dev/xvdf(或 /dev/sdf)。通过
SSH 连接到新的微实例并将卷 A 挂载到 /mnt/tmp。
将 ~/.ssh/authorized_keys 复制到 /mnt/tmp/home/ubuntu/.ssh/authorized_keys。
注销。
终止微实例。
从中分离卷 A。
将卷 A 作为 /dev/xvda 重新附加到主实例。
启动主实例。
使用新的 .pem 文件像以前一样登录。
所以我所做的就是创建一个新实例,然后只需使用 ssh 登录,就可以了。对于 Putty,我可能需要将 pem 转换为 putty ppk 文件,而不是生成新的 ppk。