关于实例的主机密钥
接受 SSH 连接的服务器将播发一个或多个加密主机密钥,以安全地识别 SSH 客户端的服务器。 为了在连接初始化期间确认服务器的标识,客户端会存储并验证主机密钥。 有关详细信息,请参阅 SSH Academy 网站上的 SSH 主机密钥 - 内容、原因、方法。
每个 GitHub Enterprise Server 实例都通过两个端口接受 SSH 连接。 站点管理员可以通过 SSH 访问管理 shell,然后运行命令行实用工具、故障排除并执行维护。 用户可以通过 SSH 进行连接,以访问和写入实例存储库中的 Git 数据。 用户对实例没有 shell 访问权限。 有关详细信息,请参阅以下文章。
- “网络端口”
- “访问管理 shell (SSH)”
- “关于 SSH”
默认情况下,你的 GitHub Enterprise Server 实例 使用 OpenSSH 样式的主机密钥轮换来生成和播发主机密钥。 若要在环境中提高 SSH 的安全性,可以启用其他算法来生成主机密钥。
Note
如果启用其他主机密钥算法,则不使用 OpenSSH 进行 SSH 连接的客户端可能会在连接过程中遇到警告,或者无法完全连接。 一些 SSH 实现可以忽略不受支持的算法并退回到其他算法。 如果客户端不支持回退操作,连接将失败。 例如,适用于 Go 的 SSH 库不支持回退到其他算法。
管理 Ed25519 主机密钥
若要提高连接到 你的 GitHub Enterprise Server 实例 的客户端的安全性,可以启用 Ed25519 主机密钥的生成和播发。 Ed25519 可在不降低速度的情况免受对一些针对旧版签名算法的攻击。 旧版 SSH 客户端可能不支持 Ed25519。 默认情况下,GitHub Enterprise Server 实例不会生成或播发 Ed25519 主机密钥。 有关详细信息,请参阅 Ed25519 网站。
-
通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
要启用 Ed25519 主机密钥的生成和播发,请输入以下命令。
ghe-config app.babeld.host-key-ed25519 true
-
(可选)输入以下命令以禁用 Ed25519 主机密钥的生成和播发。
ghe-config app.babeld.host-key-ed25519 false
-
若要应用配置,请运行以下命令。
Note
在配置运行过程中,你的 GitHub Enterprise Server 实例 上的服务可能会重启,这可能会导致用户短暂停机。
Shell ghe-config-apply
ghe-config-apply
-
等待配置运行完毕。