本文介绍本地主机生成ssh key。gitlab配置ssh key,通过ssh拉取代码的详细过程。
一、生成 SSH key
首先需要检查你电脑是否已经有 SSH key
在git bash中输入以下命令
cd ~/.ssh
ls
上面的命令是查询是否已经生成过 SSH key,如果已经生成了SSH key,则可以跳过生成SSH key这一步。
生成 SSH key:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
参数含义:
-t rsa:指定密钥类型为RSA。
-b 4096:指定密钥长度为4096位。
-C “your_email@example.com”:添加注释(通常是您的电子邮件地址),这有助于识别密钥。
执行上述命令后,系统会提示您输入文件名以保存密钥(默认情况下保存在~/.ssh/id_rsa中),以及是否设置密码短语。设置密码短语可以增加额外的安全层,但也可以留空以便免密码连接。如:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/TOM/.ssh/id_rsa):
如果不输入文件名,直接按回车,则使用默认文件路径存放ssh key,之后就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。
id_rsa:私钥文件
id_rsa.pub:公钥文件
接着又会提示你输入两次密码(该密码是你访问gitlab的时候要输入的密码,不是gitlab的密码),当然,你也可以不输入密码,直接按回车。那么在访问gitlab的时候就不需要输入密码,如:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
接下来,会显示以下信息:
Your identification has been saved in /c/Users/TOM/.ssh/id_rsa.
Your public key has been saved in /c/Users/TOM/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ARNOszbPhz4iHoiVhvfFEh2P7R/zsNtkYsQPkHSW5qk your_email@example.com
二、在gitlab上添加SSH key
复制 id_rsa.pub 文件的内容
可以直接找到文件,使用编辑器复制,也可以在git bash中输入以下命令复制。
clip < ~/.ssh/id_rsa.pub
在gitlab 添加SSH
登录到你的gitlab,点击右上角头像的下拉菜单的 Setting -> SSH Keys
将刚刚复制的id_rsa.pub粘贴到下图位置,其中Key是填写 id_rsa.pub,Title是填写生成ssh key时填写的备注信息。
三、验证SSH key
在git bash 中输入以下命令,其中gitlab.com需要填写你使用的gitlab的地址
ssh -T git@gitlab.com
当输入了以上命令后,会有以下提示,直接输入yes即可。
Are you sure you want to continue connecting (yes/no)?
如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:
Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':
当看到以下提示,则表示配置SSH 密钥成功
Welcome to GitLab, @zhangsan!
四、拉取代码
通过复制git项目中的ssh地址,然后使用命令拉取代码
git clone git项目中的ssh地址