生成 SSH 密钥后立即出现权限被拒绝(公钥)错误

生成 SSH 密钥后立即出现权限被拒绝(公钥)错误

我知道这个问题可能以前就被问过但我仍然找不到答案,而就我而言答案应该很简单。

因此,我在 ECS 服务器中创建了一个新用户,并将sudo其分配给 sudo 组,从而赋予其权限。然后,我更改了一些 sshd_config 参数:

  1. 将端口从 22 更改为另一个
  2. PermitRootLogin 从“是”更改为“否”
  3. 密码验证从“是”改为“否”

然后我通过以下方式生成 SSH 密钥ssh-keygen -t rsa 并将其复制到 authorized_keysssh-copy-id user@ipAddress

然后我重新启动服务器,ssh 登录到服务器并收到权限被拒绝(公钥)错误。

服务器/home/user/.ssh文件夹中有authorized_keysid_rsa.pubid_rsa三个文件。但是在我的本地机器.ssh文件夹中没有密钥文件。

那么问题出在哪里?

答案1

可以找到有关如何连接 SSH 服务器的详细说明这里

从您的问题可以清楚地看出您应该执行以下操作:

如何创建 SSH 密钥

SSH 密钥应在您要登录的计算机上生成。这通常是您的本地计算机。

在命令行中输入以下内容:

ssh-keygen -t rsa

按 Enter 接受默认值。您的密钥将在~/.ssh/id_rsa.pub和 处创建~/.ssh/id_rsa

~/.ssh客户端计算机的目录中有以下文件:

-rw------- 1 demo demo 1679 Sep  9 23:13 id_rsa
-rw-r--r-- 1 demo demo  396 Sep  9 23:13 id_rsa.pub

可以看到,id_rsa 文件只有所有者才可以读写。这才是保密的正确方式。

但是,id_rsa.pub 文件可以共享,并具有适合此活动的权限。

在服务器端,您应该拥有公钥(而不是私钥)。

相关内容