Git 创建 SSH 密钥

Git SSH密钥创建与配置指南

1.生成 SSH 密钥

打开 Git Bash

ssh-keygen -t ed25519 -C "your_email@example.com"

把 ”your_email@example.com“ 改成再 github 注册的邮箱

系统会提示您三次输入:

  1. 第一个提示Enter file in which to save the key (/c/Users/86189/.ssh/id_ed25519):

    • 直接按 Enter 使用它推荐的默认路径和文件名(/c/Users/86189/.ssh/id_ed25519)。这是最好的选择。

  2. 第二个提示Enter passphrase (empty for no passphrase):

    • 强烈建议设置一个密码。输入一个你能记住但别人猜不到的密码(输入时屏幕不会显示任何字符,这是正常的),然后按 Enter

    • 如果不想设置密码,直接按 Enter

  3. 第三个提示Enter same passphrase again:

    • 再次输入刚才设置的密码(如果设置了的话),然后按 Enter 确认。

    • 如果第一次没设密码,这里也直接按 Enter

成功返回信息

Your identification has been saved in /c/Users/86189/.ssh/id_ed25519
Your public key has been saved in /c/Users/86189/.ssh/id_ed25519.pub
The key fingerprint is:

(1) 命令解读

1. ssh-keygen

这是命令本身,是一个用于生成、管理和转换 SSH 认证密

### 如何在本地Git中生成SSH密钥 为了在本地Git中生成SSH密钥,可以通过以下方法完成: #### 设置用户名和邮箱 在生成SSH密钥前,建议先设置全局的用户名和邮箱。这一步对于后续的操作非常重要,因为这些信息会被用来标识提交者以及关联到SSH密钥中的注释部分[^5]。 ```bash git config --global user.name "你的名字" git config --global user.email "你的邮箱" ``` #### 检查现有SSH密钥 在生成新密钥之前,应确认当前系统上是否已经存在有效的SSH密钥。默认情况下,SSH密钥存储路径为`~/.ssh/`目录下。如果该目录为空,则说明尚未生成任何密钥;如果有文件如`id_rsa`或`id_ed25519`及其对应的`.pub`文件,则表示已有密钥[^1]。 运行以下命令来检查是否存在旧有的SSH密钥: ```bash ls -al ~/.ssh ``` 如果没有发现合适的密钥或者想要重新创建一个新的密钥对,则继续下一步骤。 #### 删除原有SSH密钥(可选) 如果您决定替换掉现有的密钥,请小心执行此操作以避免影响其他依赖于原密钥的服务。可以手动移除整个`.ssh`目录下的所有内容,但这通常不是推荐的做法。更安全的方式是仅删除特定的一组密钥文件后再生成新的密钥对[^2]。 ```bash rm -rf ~/.ssh/* ``` > **注意**: 此动作不可逆,请谨慎处理! #### 生成新的SSH密钥 根据实际需求选择适合的安全算法类型,比如RSA或Ed25519。现代推荐优先考虑使用更强壮的加密方式——即Ed25519算法。 以下是基于不同类型的示例命令: - 对于较传统的RSA密钥: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` - 推荐使用的Ed25519密钥: ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` 上述两条指令都会提示输入保存位置,默认会存放在`~/.ssh/id_<type>`形式命名的位置,并询问密码短语(Password),这是额外保护层,防止未经授权访问私钥[^3][^4]。 #### 添加SSH密钥SSH代理程序 启动SSH Agent服务并将刚产生的私钥加入其中以便自动管理认证过程。 ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519 # 或者对应rsa版本路径 ``` #### 复制公钥给远程仓库服务商 最后一步就是把刚刚生产的公共钥匙上传至目标平台(GitHub/GitLab等等)账户设定里指定区域。具体做法如下所示: 1. 打开终端读取公开钥匙的内容: ```bash cat ~/.ssh/id_ed25519.pub ``` 2. 登录到相应的代码托管网站,在个人资料页面找到类似于“SSH Keys”的选项卡; 3. 新增一项条目,粘贴从上面获取的结果字符串进去即可. 至此完成了全部配置工作,现在应该能够顺利通过SSH协议克隆项目而无需每次都提供登录凭证了。 验证连接状态正常与否可通过尝试无害请求来进行测试: ```bash ssh -T git@gitlab.com # 如果一切正确的话将会收到欢迎消息告知身份已被识别. ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值