每天进步一点点:解决AWS新建EC2实例无法登录的问题

之前一篇文章中介绍了如何一步一步创建一个AWS EC2实例,光说不练不是咱的性格,虽然实例挺耗银子的,不过舍不得孩子套不住狼,撸起袖子就是干!

image.png
(图源 :pixabay)

话说实例创建后,略等一小会就可以在EC2->Instances中看到了,里边同时会显示一个Public IPv4 address,我们就可以用这个地址登录啦。

要完成初始登录,大致需要三个要素:

  • IP地址
  • 一个允许了22端口的Security groups(安全策略)
  • Key pair对应的私钥

失败的登录

目前这些要素我都具备了,于是乎使用Putty登录:

在这里输入IP以及默认端口,默认选择SSH

1672976606294.png

在这里选择对应的私钥;

1672976673033.png

点击Open登录,原本做过N多次类似操作,结果竟然登录失败?

1672976760021.png

提示的错误信息如下:

image.png

重新实例 & Key Pair

经过我N多次尝试,并且试了我本地目录中的好几组.PPK私钥,尝试了各种用户名,都没法正确登录。

这让我怀疑,可能是我本地保存的私钥都不对(比如说创建过多个,但是最新一个被我删除了?)。因为除了怀疑这点,也没法怀疑其它了。

既然Key Pair不对,那么重新创建一组就好了,但是EC2实例是没法切换Key Pair,这意味着,我必须重建一组Key Pair,同时删除并重建EC2实例并关联新的Key Pair。

使用这个路径创建Key Pair:

EC2->Key pairs->Create key pair

创建Key Pair的界面如下:

image.png

我注意到,目前已经直接支持创建.ppk格式的私钥了,也就是说无需再使用puttygen.exe进行私钥格式转换了,果然方便不少。

于是创建新的Key Pair,删除之前创建的EC2实例,重新创新新实例并关联新的Key Pair。

然后再去尝试登录,依旧失败,各种出错信息没有任何变化。也就是说,并不是我之前用错的Key Pair,哭。

新版本的Putty

那么问题出在哪里呢?

突然想起我在选择OS的时候,曾经看到Minimal Ubuntu 22.04 LTS - Jammy下的一条评论,好像说是旧版本Putty没法登录的事情,当时没仔细看,现在回头瞧瞧去。

我只截取其中相关的部分,原文见文末链接:

1672977994257.png

感谢这些好人啊,一下子就指出问题所在,就是旧版本的SSH被弃用了,所以要用新版的Putty等支持新版SSH的协议的工具。

那就更新一下呗,去官网下载了 0.78(released on 2022-10-29)版本的Putty,然后再次尝试登录:

1672978318580(1).png

你会注意到界面略有变化,不过大同小异,这都不是重点,重点是,我一下子就登录成功啦:

1672978441192(1).png

所以,困扰我大半天的无法登录问题,总算彻底解决了。

感谢那些不吝于分享自己经验的人,如果不是这人写了这个关于登录问题的Review,并且恰巧被我瞧见。想必就算我最终能发现这个问题,也要耗费更多的时间和精力。

所以,我也要做这样乐于分享的好人,把这个经验无私地分享给大家,也许哪天就帮助到有需要的人了呢。

相关链接

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center