最近我犯了一个愚蠢的错误,清空了AWS实例上用户的~/.ssh/authorized_keys文件中的内容。因此,我无法再通过ssh访问该实例。
我意识到可以通过AWS EC2实例用户数据将这些密钥添加回来。但是迄今为止,我还没有成功过。我停止了我的实例,在用户数据中添加了以下内容,然后重新启动它:
#!/bin/bash
> /home/myUser/.ssh/authorized_keys
echo "ssh-rsa aaa/bbb/ccc/ddd/etc== mykeypair" >> /home/myUser/.ssh/authorized_keys
chown myUser:myUser /home/myUser/.ssh/authorized_keys
chmod 600 /home/myUser/.ssh/authorized_keys
这应该会清空文件,添加公钥对并确保文件上存在正确的权限。
然而我的私钥仍然被拒绝。
我知道密钥是正确的,所以问题一定与我的实例用户数据有关。我还尝试在所有命令前加上 'sudo'。