Skip to main content

为实例配置主机密钥

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

Who can use this feature

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 访问权限。 有关详细信息,请参阅以下文章。

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

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

管理 Ed25519 主机密钥

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

  1. SSH into your GitHub Enterprise Server instance. If your instance comprises multiple nodes, for example if high availability or geo-replication are configured, SSH into the primary node. If you use a cluster, you can SSH into any node. For more information about SSH access, see "Accessing the administrative shell (SSH)."

    $ 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. To apply the configuration, enter the following command.

    Note: During a configuration run, services on your GitHub Enterprise Server instance may restart, which can cause brief downtime for users.

    ghe-config-apply
  5. Wait for the configuration run to complete.