使用 git 时,若远程仓库托管在基于 gitolite 搭建的服务器上,则必须配置 ssh 密钥以完成身份认证。这种方式不仅显著增强访问安全性,还能彻底规避每次与远程仓库交互时反复输入密码的繁琐操作,大幅提升开发效率。
1、当 Git 服务端采用 gitolite 构建时,SSH 密钥认证是标准且推荐的身份验证方式——既强化了账户安全边界,又实现了无缝化远程操作体验。
2、在日常运维中,客户端与各类 Linux 服务器之间通过 SSH 协议建立连接时,同样可启用密钥认证机制,实现真正意义上的免密直连,省去每次手动输入密码的步骤,提升操作连贯性与响应速度。
3、SSH 支持两种主流身份校验模式:其一是传统账号+密码组合,适用于受控内网环境;其二则是基于非对称加密体系的公钥认证,更适用于暴露于公网的服务器场景。该机制要求用户提前将本地生成的公钥上传至目标服务器的授权列表中。当发起连接请求时,服务端会使用该公钥对一段随机挑战数据进行加密并发送给客户端;客户端则利用本地私钥完成解密并将结果返回,从而完成双向可信验证。由于私钥始终保留在用户终端设备中,从未在网络中传输,即便通信内容被截获,攻击者也无法仅凭公钥或加密数据还原原始信息,因而有效保障了链路层的数据机密性与身份真实性。
4、下面进入实操环节,逐步掌握 SSH 密钥的创建与应用流程!
5、生成密钥对
6、运行上述命令可生成一对加密密钥,其中 -t 参数指定密钥类型为 RSA(后续亦可选用 ed25519 等更现代算法),-C 选项用于添加描述性注释,通常填写邮箱地址,便于后期识别密钥归属及用途,提升多密钥环境下的管理清晰度。
7、执行命令后终端将显示如下提示信息:
8、按回车键确认默认保存路径后,系统将在指定位置生成密钥文件,并输出对应的状态反馈。
9、系统将提示输入密钥保护口令(passphrase)。若选择不设口令,请直接回车;如需加强本地私钥防护,请按需输入并二次确认。
10、完成口令设置后按回车,密钥生成过程即刻启动,界面效果如下所示:

11、生成的私钥默认存放于 /home/xinu/.ssh/id_rsa,对应的公钥位于 /home/xinu/.ssh/id_rsa.pub。此外,终端还会一并展示该密钥的指纹(fingerprint)以及 ASCII 风格的随机艺术图(random art image),便于人工核验。所有密钥文件均以纯文本格式存储,支持任意文本编辑器直接打开查看,无需额外解析工具即可快速获取关键信息。
12、多密钥环境配置
13、在实际工作中,我们可能需要同时管理多个密钥:例如重新生成新密钥、或接收他人提供的专用私钥(如 id_rsa2)用于特定主机登录。此时应如何正确加载并调用不同密钥完成身份认证?
14、假设新私钥命名为 id_rsa2 并已存放于 ~/.ssh/ 目录下,首先需将系统级 SSH 配置文件 /etc/ssh/ssh_config 复制为用户级配置 ~/.ssh/config,随后对该文件进行编辑,在 Host * 或具体主机段落中明确指定 IdentityFile(私钥路径)和 HostName(目标主机名)等参数,确保 SSH 客户端能精准匹配并加载对应密钥。
15、只要目标服务器已将相应公钥写入 ~/.ssh/authorized_keys 文件,并已启用 SSH 公钥认证功能,即可自由切换使用任一合法密钥完成登录与权限校验。
16、Launchpad 平台中的 SSH 密钥绑定指南
17、访问 Launchpad 官网并登录个人账户,进入 Settings → SSH keys 页面,点击右上角 “+ Add an SSH key” 按钮。接着打开本地 id_rsa.pub 文件,全选内容并复制,粘贴至网页弹出的文本框中,检查无误后点击 “Import Public Key”,即可完成公钥注册。
18、至此,SSH 密钥从生成、配置到平台部署的全流程已完整呈现,您已具备独立完成密钥体系搭建与维护的能力。










