我正在使用 winscp/putty 以 root 身份使用具有导入的 openssh 密钥的 .ppk 文件登录我的 AWS EC2 实例。
之前它与很多人共享过,但这些人都已经不在了,所以现在我必须改变它,让其他人都无法访问它。
我尝试在互联网上搜索,但没有找到任何内容。提前致谢 :)
答案1
您需要更改密钥。在您的实例上使用ssh-keygen要做到这一点,例如
ssh-keyget -t rsa -b 2048
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
35:dc:34:c2:98:89:8b:4a:e2:f7:71:ad:09:02:83:57 [email protected]
现在您有一个公钥(/root/.ssh/id_rsa.pub),需要将其添加到文件/root/.ssh/authorized_keys
中
cd $HOME/.ssh
cp authorized_keys authorized_keys.safe
cat id_rsa.pub >> authorized_keys
稍后您必须从authorized_keys文件中删除旧密钥。
不要退出。
将新的私钥(/root/.ssh/id_rsa)复制到您的 Windows 机器,然后使用 puttygen 导入并保存它,就像您之前所做的那样。
检查您是否可以使用新密钥登录。如果可以,请从实例中删除旧密钥。
cat id_rsa.pub > authorized_keys
不要退出。
现在再次检查您是否可以使用新密钥登录
你真的不应该以这种方式使用 root 帐户。你应该为需要访问系统的每个人创建单独的用户帐户。然后你应该使用须藤授予他们执行工作所需的命令的访问权限。Sudo 是大多数(所有?)Linux 发行版的基本安装的一部分。
答案2
创建新的公共 ssh 登录密钥(参见https://help.ubuntu.com/community/SSH/OpenSSH/Keys) 并将其添加到/root/.ssh/authorized_keys
。测试,成功后删除旧密钥。
更改 root 密码或禁用基于密码的登录(请参阅https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#disable-password-authentication)。
还请检查 sudo 权限(使用visudo
)和用户帐户(/etc/passwd
)
修改密钥密码才不是防止他人访问。这只是你的副本。这就是为什么你不应该共享私人密钥的原因。