共享 SSH 密钥来登录?

共享 SSH 密钥来登录?

我有点迷失或困惑。

  1. 我有一些安全服务器,里面~/.ssh/authorized_keys有一把钥匙可以从我的桌面远程登录这些服务器(mac book)

  2. 现在安全服务器需要通过 SFTP/SCP 到某些第三方服务器

他们向我提供了 SSH IP、用户名、密码,但我需要使用密钥登录。他们要求我分享密钥。

现在很困惑我必须与他们分享哪个密钥?id_rsa.pub或钥匙来自~/.ssh/authorized_keys

注意:如果我将 id_rsa.pub 密钥分享给第三方,他们可以使用它来破解第 1 点中我的安全服务器吗?

答案1

SSH 密钥有两部分,秘密/私钥(通常为~/.ssh/id_rsa)和公钥(~/.ssh/id_rsa.pub)。密钥可用于证明你是谁(或者至少你持有那个秘密密钥),而公钥可用于查看秘密密钥。

绝不将密钥传递给任何其他方,因为这将使他们能够冒充您。

至于您在远程服务器上安装(或发送安装)哪个公钥取决于您:这取决于您想要使用哪个私钥登录那里。

如果您的 Macbook 上有私钥,并且想要使用该私钥登录,请发送与该私钥相对应的公钥。这可能是您的第一台服务器authorized_keys或 Mac 中的服务器id_rsa.pub。如果您想从第一台服务器登录,请发送该服务器密钥的公钥,即机器中的密钥id_rsa.pub

如果您想使用这两个密钥登录,则需要在authorized_keys目标服务器上安排这两个密钥。


如果您愿意,您可以在同一系统上创建多个私钥,并为不同的远程系统使用不同的私钥。只需进行一些记录即可知道您在何处使用了哪个密钥,并对 SSH 客户端进行了一些配置,以便它知道尝试使用所有密钥。 (如果您有很多密钥,则可能需要为每个主机进行配置。)


通过公钥( id_rsa.pub) 对第三方没有风险。事实上这正是你所想的需要让他们通过您的私钥识别您的身份。

答案2

.pub文件名中的表示id_rsa.pub它是一个民众密钥可以与管理您想要通过 访问的远程计算机的任何人共享ssh。相应的私人的关键应该不是被共享的是id_rsa

通过将您添加id_rsa.pub到远程计算机中~/.ssh/authorized_keys,远程计算机的管理员将授权任何有权访问私钥的人id_rsa进行连接。当您被要求提供要共享的公钥时,远程计算机的管理员将需要一个something.pub文件。

答案3

Authorized_keys 包含您放置在要连接的服务器上的所有公钥。 id_rsa.pub 是包含生成密钥对时创建的单个公钥的文件。

如果您作为该服务的客户端,那么您需要向他们提供公钥。我们无法回答您是否使用现有的公钥(如果您有多个,则使用哪一个)或创建一个新的密钥对 - 但一个重要的考虑因素是您将从哪里进行连接 - 您不想分散许多不同服务器上的重要私钥。

答案4

您可以使用 putty-gen 应用程序创建新的 SSH 密钥,并出于安全目的向第三方用户提供 pem 文件。完成工作后,您可以删除存储在服务器上的公钥

相关内容