GitLab 和 SSH 密钥
Git 是一个分布式版本控制系统,这意味着你可以在本地工作, 然后共享或“推送”您的更改到服务器。 在这种情况下,服务器是 GitLab。
GitLab 使用 SSH 协议来安全地与 Git 通信。 当您使用 SSH 密钥对 GitLab 远程服务器进行身份验证时, 您无需每次都提供用户名和密码。
先决条件
要使用 SSH 与 GitLab 通信,您需要:
- OpenSSH 客户端,预装在 GNU/Linux、macOS 和 Windows 10 上。
- SSH 6.5 或更高版本。 早期版本使用 MD5 签名,这是不安全的。
要查看系统上安装的 SSH 版本,请运行 ssh -V.
支持的 SSH 密钥类型
要与 GitLab 通信,您可以使用以下 SSH 密钥类型:
- ED25519
- RSA
- DSA( 已弃用 在 GitLab 11.0 中 。)
- ECDSA(如 Practical Cryptography With Go 中所述 ,与 DSA 相关的安全问题也适用于 ECDSA。)
管理员可以 限制允许使用的密钥及其最小长度 。
ED25519 SSH 密钥
一书 Go 的实用密码学 表明 ED25519 高效 密钥比 RSA 密钥更安全、更 。
OpenSSH 6.5 在 2014 年引入了 ED25519 SSH 密钥,它们应该在大多数 操作系统。
RSA SSH 密钥
可用文档表明 ED25519 比 RSA 更安全。
如果您使用 RSA 密钥,美国国家科学技术研究所在 出版物 800-57 第 3 部分 (PDF) 建议密钥大小至少为 2048 位。 默认密钥大小取决于您的版本 ssh-keygen. 回顾 man您已安装的页面 ssh-keygen命令了解详情。
查看您是否有现有的 SSH 密钥对
在创建密钥对之前,请查看密钥对是否已存在。
-
在 Windows、Linux 或 macOS 上,转到您的主目录。
-
前往
.ssh/子目录。 如果.ssh/子目录不存在, 你要么不在主目录中,要么你没有使用过ssh前。 在后一种情况下,您需要 生成 SSH 密钥对 。 -
查看是否存在具有以下格式之一的文件:
算法 公钥 私钥 ED25519(首选) id_ed25519.pubid_ed25519RSA(至少 2048 位密钥大小) id_rsa.pubid_rsaDSA(已弃用) id_dsa.pubid_dsaECDSA

本文档详细介绍了如何配置和使用GitLab与SSH密钥进行安全通信,包括支持的密钥类型、密钥生成、添加到GitLab账户、验证连接、以及针对不同场景的密钥管理,旨在帮助用户实现高效且安全的版本控制。
最低0.47元/天 解锁文章
1384

被折叠的 条评论
为什么被折叠?



