«

Linux centos系统git生成ssl公钥

发布于 阅读:35


什么是Git SSH密钥?

SSH密钥是一种安全的身份验证方式,用于访问远程Git仓库(如GitHub、GitLab等)。相比用户名密码认证,SSH密钥更加安全且方便。

为什么需要生成SSH密钥?

在CentOS下生成SSH密钥步骤

第一步:检查是否已存在SSH密钥

$ ls -al ~/.ssh

如果看到类似 id_rsa 和 id_rsa.pub 的文件,则表示已有SSH密钥对。

第二步:生成新的SSH密钥

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

参数说明:

第三步:设置密钥保存位置和密码

Enter file in which to save the key (/home/username/.ssh/id_rsa): [直接按回车使用默认路径]
Enter passphrase (empty for no passphrase): [输入密码或留空]
Enter same passphrase again: [再次确认密码]

建议设置密码以增强安全性,即使私钥被窃取也需要密码才能使用。

第四步:启动SSH代理并添加密钥

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa

第五步:获取公钥内容

$ cat ~/.ssh/id_rsa.pub

复制输出的内容,这就是你的SSH公钥,用于添加到GitHub、GitLab等平台。

将SSH密钥添加到GitHub

  1. 登录GitHub账户
  2. 点击右上角头像,选择"Settings"
  3. 在左侧菜单中选择"SSH and GPG keys"
  4. 点击"New SSH key"按钮
  5. 填写Title(例如:"My CentOS Workstation")
  6. 将之前复制的公钥粘贴到"Key"字段
  7. 点击"Add SSH key"

测试SSH连接

$ ssh -T git@github.com

如果看到类似以下信息,说明配置成功:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

常见问题及解决方案

问题 解决方案
Permission denied (publickey) 确保正确启动了ssh-agent并添加了密钥
密钥权限不正确 运行 chmod 700 ~/.ssh 和 chmod 600 ~/.ssh/*
提示密钥格式错误 重新生成密钥,确保没有意外字符

总结

通过以上步骤,你已经成功在CentOS系统下为Git生成了SSH密钥。这不仅提高了工作效率,也增强了代码仓库的安全性。建议定期更换SSH密钥以保持最佳安全性。