SSH密钥交换

问题描述 投票:1回答:2

我有两台服务器一起工作:第一个是应用程序服务器,另一个是档案服务器。我使用F-Secure SSH客户端访问这两个服务器,并使用相同的用户ID和公用/专用密钥对进行身份验证。这意味着私钥存储在Windows计算机上,而公钥存储在两个服务器上。

现在,我需要从应用程序服务器访问存档服务器。为此,我必须先进行密钥交换。

在这种情况下,什么是标准的方法?我是否只是将私钥从Windows复制到应用程序服务器?它会危害安全性吗?还是我需要生成一个新的密钥对?

我感谢您的帮助!

P.S。我是Unix管理的新手,所以对我不要太刻苦:)

security bash unix ssh
2个回答
5
投票

标准方法是:

  1. 在每台机器/用户上生成新的私钥/公钥对
  2. 使用.ssh中的授权密钥文件并添加每个公共密钥
  3. 将此授权密钥文件复制到每个远程主机

旁注:授权密钥文件以及密钥对与user @ machine有关

Sidenote2:通常ppl完全阻止此过程的根。既不能通过pw auth也不能通过密钥auth访问根。


0
投票

@fyr的答案是正确的,但是您不需要手动添加或复制任何内容。您可以使用ssh-copy-id来完成。

假设您的新计算机上的SSH服务器已经在运行,请从旧计算机(该计算机已经具有SSH密钥对,如果没有运行ssh-copy-id,请运行

ssh-keygen

其中ssh-copy-id -i ~/.ssh/mykey user@host 参数表示您的公共密钥的位置。 -i工具会在必要时添加.pub扩展名,因此它不会尝试发送您的私钥。

一个与Raspberry Pi交换密钥的真实示例为:

ssh-copy-id

这将要求您输入密码,但只输入一次。如果密钥交换成功,则无需密码即可直接进入ssh-copy-id -i ~/.ssh/id_rsa [email protected]

© www.soinside.com 2019 - 2024. All rights reserved.