【问题标题】:SSH key exchangeSSH 密钥交换
【发布时间】:2020-05-30 00:49:24
【问题描述】:

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

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

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

感谢您的帮助!

附:我对 Unix 管理比较陌生,所以不要对我太苛刻:)

【问题讨论】:

    标签: security bash unix ssh


    【解决方案1】:

    标准方法是:

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

    旁注:授权的密钥文件以及密钥对与用户@机器相关

    Sidenote2:通常 ppl 完全阻止此进程的 root。 Root 既不能通过 pw auth 也不能通过 key auth 访问。

    【讨论】:

      【解决方案2】:

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

      假设你的新机器上的 SSH 服务器已经在运行,从你的旧机器(它已经有一个 SSH 密钥对,如果没有运行ssh-keygen),运行

      ssh-copy-id -i ~/.ssh/mykey user@host
      

      -i 参数表示您的公钥的位置。 ssh-copy-id 工具将在必要时添加 .pub 扩展名,因此它不会尝试发送您的私钥。

      一个真实的例子,假设与 Raspberry Pi 交换密钥,将是:

      ssh-copy-id -i ~/.ssh/id_rsa pi@192.168.1.11
      

      这会询问您的密码,但只会询问一次。如果密钥交换成功,您无需密码即可ssh

      【讨论】:

        猜你喜欢
        • 2015-10-22
        • 2021-06-25
        • 1970-01-01
        • 2017-06-14
        • 1970-01-01
        • 2014-12-22
        • 1970-01-01
        • 2018-02-03
        • 1970-01-01
        相关资源
        最近更新 更多