Skip to main content

为实例配置主机密钥

可通过配置实例用来为传入 SSH 连接生成和播发主机密钥的算法,来提高 你的 GitHub Enterprise Server 实例 的安全性。

谁可以使用此功能?

Site administrators can configure the host keys for a GitHub Enterprise Server instance.

关于实例的主机密钥

接受 SSH 连接的服务器将播发一个或多个加密主机密钥,以安全地识别 SSH 客户端的服务器。 为了在连接初始化期间确认服务器的标识,客户端会存储并验证主机密钥。 有关详细信息,请参阅 SSH Academy 网站上的 SSH 主机密钥 - 内容、原因、方法

每个 GitHub Enterprise Server 实例都通过两个端口接受 SSH 连接。 站点管理员可以通过 SSH 访问管理 shell,然后运行命令行实用工具、故障排除并执行维护。 用户可以通过 SSH 进行连接,以访问和写入实例存储库中的 Git 数据。 用户对实例没有 shell 访问权限。 有关详细信息,请参阅以下文章。

默认情况下,你的 GitHub Enterprise Server 实例 使用 OpenSSH 样式的主机密钥轮换来生成和播发主机密钥。 若要在环境中提高 SSH 的安全性,可以启用其他算法来生成主机密钥。

注意:如果启用其他主机密钥算法,则不使用 OpenSSH 进行 SSH 连接的客户端可能会在连接过程中遇到警告,或者无法完全连接。 一些 SSH 实现可以忽略不受支持的算法并退回到其他算法。 如果客户端不支持回退操作,连接将失败。 例如,适用于 Go 的 SSH 库不支持回退到其他算法。

管理 Ed25519 主机密钥

若要提高连接到 你的 GitHub Enterprise Server 实例 的客户端的安全性,可以启用 Ed25519 主机密钥的生成和播发。 Ed25519 可在不降低速度的情况免受对一些针对旧版签名算法的攻击。 旧版 SSH 客户端可能不支持 Ed25519。 默认情况下,GitHub Enterprise Server 实例不会生成或播发 Ed25519 主机密钥。 有关详细信息,请参阅 Ed25519 网站

  1. 通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. 要启用 Ed25519 主机密钥的生成和播发,请输入以下命令。

    ghe-config app.babeld.host-key-ed25519 true
    
  3. (可选)输入以下命令以禁用 Ed25519 主机密钥的生成和播发。

    ghe-config app.babeld.host-key-ed25519 false
    
  4. 若要应用配置,请运行以下命令。

    注意:在配置运行过程中,你的 GitHub Enterprise Server 实例 上的服务可能会重启,这可能会导致用户短暂停机。

    Shell
    ghe-config-apply
    
  5. 等待配置运行完毕。