我刚刚注册了我的网站,以便人们可以通过 HTTPS 访问(并且将被强制,HSTS 和重定向是配置的一部分)。
它是通过 GitLab 设置的。我可以通过 HTTPS 顺利访问我的存储库。我安装了一个工作站的公共证书,该证书由
ssh-keygen -t rsa -b 4096 -C “工作站名称”
因此我无需用户名/密码组合即可推送和拉取文件。
现在我尝试检查
git 克隆[电子邮件保护]:组/repository.git
我得到了旧的提示
无法确定主机“git.myserver.com (#.#.#.#)”的真实性。RSA 密钥指纹为 SHA256:HAHANO17pLUsNE2KoVKweYDEwhJHu1l4ugaoT+fHdx0。
您确定要继续连接吗(是/否)?
...但是等等。HTTPS 不需要用户确认,因为证书不是自签名的。
我一直在读“X.509”——而且该认证机构看起来与向我颁发 HTTPS 证书的 CA 是同一个机构。那么,我可以将服务器的 SSH 配置为使用相同的签名证书吗(这样我就不必手动确认并将服务器的数据存储在工作站的 known_hosts 文件中)?而且,我该如何配置 ssh/任何生成的文件?
答案1
首先,SSH 和 HTTPS 是两种不同的服务,运行在两个不同的端口(22 和 443)上,使用两种不同的协议(ssh 和 HTTP over TLS/SSL)。这些协议不兼容。
此外,SSH 不使用 PKI(公钥基础设施),但服务器身份验证基于哈希签名,您应该通过带外通道与 SSH 服务器的所有者进行验证(例如查看负责服务器的管理员)。
有一款软件可以使用 PGP 来建立信任网,您可以将其用于 SSH,而不是基于 X509 证书的 PKI。请参阅:https://serverfault.com/a/60287