我有类似的问题另一个问题,但提供的信息对我没有帮助。
我在 AWS 上设置了一个 CentOS HVM 实例来学习 Linux。我的初始(root?)帐户centos
可以使用我在 AWS 控制台上创建的初始密钥对正常登录。使用 PuTTY(在 PuTTYgen 之后在本地生成适当的密钥格式),登录时我收到了密钥挑战,我选择“是”将其保存在本地。
当我使用该帐户首次登录服务器时,我不知道(单独的)登录质询密钥在我的 Windows 笔记本电脑本地存储在哪里。它必须按用户名或 Windows 用户名存储。我只知道 PuTTYgen 转换的 PPK 文件在哪里。
我在 Linux 机器上创建了第二个用户ec2usr
。我使用 sudo passwd 设置了密码。我想通过从 PuTTY 登录来测试这个新帐户,但我收到了同样的消息 - 即使我将 PuTTY 指向与我的帐户登录相同的 PPK 密钥文件,centos
它也有效。
我在 AWS 控制台上仅创建了一对密钥。
我已尝试将该密钥对中的 AWS 控制台密钥对指纹加载到 PuTTY 中,但仍然不起作用。
当我尝试登录时,我没有机会保存质询密钥 - 它应该提示我这样做,但它没有。为什么没有?
这里没有什么不寻常的 - 这是最基本的。我错过了什么?
如果我正在使用 PAgeant,但我却不知道,我怀疑我是否正在使用。
答案1
Putty使用自己的格式,CentOS使用OpenSSH密钥格式。
无论如何,你必须授权您拥有的密钥ec2usr
。
拥有相同的密码与centos
此无关。
您正在使用钥匙仅基于身份验证(默认情况下,AWS 中禁用密码一)。
要授权密钥,您必须将其民众对应物<USER HOME DIR>/.ssh/authorized_keys
。
如果您刚刚创建了一个用户,它甚至可能没有目录.ssh
。
下面创建它(假设您以该用户身份登录):
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
如果你手边没有民众密钥(用于添加到authorized_keys
文件),您可以直接从 复制它/home/centos/.ssh/authorized_keys
。它必须在那里,因为您的用户登录centos
有效。