在AWS上安装SSL证书时,我重命名了旧的crt文件(就像傻瓜一样),现在我再也无法通过SSH访问AWS实例来修复文件名。
有没有办法访问我的AWS实例以外的SSH文件?或者,当SSL证书关闭时,有没有办法继续使用SSH来访问实例?
最初当我在更改文件名后进行连接时,我在SSH时得到了来自服务器的快速响应:
> ssh -vv -i tc.pem ubuntu@tc.com
OpenSSH_7.5p1, OpenSSL 1.0.2l 25 May 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "tc.com" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to tc.com [1.1.1.1] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file tc.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file tc.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.5
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to tc.com:22 as 'ubuntu'
debug1: SSH2_MSG_KEXINIT sent
Connection closed by 1.1.1.1 port 22
有一次我在服务器上重新启动了,现在,当我尝试SSH时,我得到了这个:
> ssh -i tc.pem ubuntu@tc.com
ssh: connect to host tc.com port 22: Connection timed out
如果我可以进入服务器或以任何方式访问文件来重命名它们,那将是一个简单的修复。感谢任何人提供的任何帮助。
答案 0 :(得分:1)
这很容易做到。基本上,您将在另一个实例上安装EC2实例的根卷(EBS卷),编辑.ssh / authorized_keys,然后将卷重新连接回您的实例。
以下是一篇逐步介绍的文章:
SSH Key Access Recovery on EC2 Instances
互联网上有许多类似的文章。