设置 SSH 以使用密码时出现问题

设置 SSH 以使用密码时出现问题

我正在尝试跟随这个答案使用公钥/私钥对设置 SSH,并只记下远程机器密码。我猜问题是密钥对是为“不同的用户”准备的,但我对 SSH 不太熟悉。此外,我在为“正确的用户”创建密钥对时遇到了困难(假设这是我的问题)。

我使用 登录到机器ssh <official_email>@machine,其中 是某个字符串(与电子邮件 相关联<name1>@company.com)。我有一个现有的密钥对id_rsaid_rsa.pub其中id_rsa.pub以字符串 结尾<personal_email>@gmail.com。无论出于何种原因,按照链接问题中的说明操作都不起作用(密钥文件被复制,我已验证,但每次都会提示我输入远程机器密码)。我认为问题在于我拥有的密钥对以 结尾<personal_email>@gmail.com,我需要一个以 结尾的密钥对<official_email>(可能是@something,但我不完全确定)。

我尝试运行它并将其保存为新文件,但是它以以 结尾的ssh-keygen文件结束,这根本不是我想要的。filename.pub<local_user>@<local_machine>

所以,我的问题是:

  1. 我这样做对吗?如果是这样,我该如何生成具有 的密钥对<official_email>@machine

  2. 如果没有,我应该采取什么步骤来解决这个问题?

答案1

结尾只是一条评论,并不重要。

公钥应该只有一行,并附加到您要连接的服务器上的 authorized_keys 文件中,该文件位于您尝试以 ssh 身份登录的用户 ID 的 ~/.ssh 目录中。

.ssh 目录本身可能需要更改其权限,它应该是模式 700

chmod 700 ~/.ssh

authorized_keys 文件可能需要更改,它应该是模式 600

chmod 600 ~/.ssh/authorized_keys

生成新密钥会创建 2 个文件,一个私钥(如果选择 rsa 默认值,则为 id_rsa,模式 600)和公钥(id_rsa.pub,模式 644),并且此公钥必须作为一行位于目标服务器的 authorized_keys 文件中。

相关内容