我知道这个问题可能以前就被问过但我仍然找不到答案,而就我而言答案应该很简单。
因此,我在 ECS 服务器中创建了一个新用户,并将sudo
其分配给 sudo 组,从而赋予其权限。然后,我更改了一些 sshd_config 参数:
- 将端口从 22 更改为另一个
- PermitRootLogin 从“是”更改为“否”
- 密码验证从“是”改为“否”
然后我通过以下方式生成 SSH 密钥ssh-keygen -t rsa
并将其复制到 authorized_keysssh-copy-id user@ipAddress
然后我重新启动服务器,ssh 登录到服务器并收到权限被拒绝(公钥)错误。
服务器/home/user/.ssh
文件夹中有authorized_keysid_rsa.pub
和id_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 文件可以共享,并具有适合此活动的权限。
在服务器端,您应该拥有公钥(而不是私钥)。