一、生成SSH key
首先在本地生成SSH key,生成的key将被绑定到你的Git账号, 用于进行ssh协议的身份验证。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
命令解释:
- ssh-keygen:用于生成SSH密钥。
- -t rsa:指定密钥类型为RSA。
- -b 4096:指定密钥长度为4096位。
- -C:用于注释,表示SSH key所属的邮箱账号。
执行命令后会提示输入密钥保存路径,这里直接按回车即可,表示保存到默认的路径。
接着会提示输入密码,不输入即为无密码,输入后需要记住密码,否则下次使用SSH时需要重新输入。
输入密码后,SSH key生成完毕,包括公钥和私钥,公钥默认在~/.ssh/id_rsa.pub中,私钥默认在~/.ssh/id_rsa中。
二、添加公钥到Git账号
为了与Git账号建立联系,需要将新生成的公钥添加到Git账号上。
- 打开 GitLab 网站,点击右上角头像下拉框中的“Settings”,进入“User Settings”页面。
- 选择侧边栏中的“SSH Keys”选项卡,然后点击“Add SSH Key”按钮。
- 在“Add an SSH key”页面中,粘贴上一步产生的公钥内容。
- 设置一个有意义的Title(描述该 SSH Key 的名称)。
- 点击“Add key”按钮提交公钥。
至此,Git账号和本地ssh key已经关联成功。
三、测试SSH连接
配置完SSH key后,我们需要测试一下是否配置成功,以免出现意外在代码仓库的使用中遇到问题。
$ ssh -T git@gitlab.com
命令解释:
- ssh:用于连接远程服务器。
- -T:表示测试连接是否可用,连接成功会显示“Welcome to GitLab”。
- git@gitlab.com:是GitLab的SSH连接地址,这个地址针对于你操作的不同的Git服务器而有所不同,需要自己去获取。
执行命令后,如果连接成功,则会输出:
Welcome to GitLab, @username!
其中,@username就是你的用户名。
如果输出不是以上内容,而是一些警告信息或者其他错误提示,那么说明SSH连接还存在问题,需要进一步排查。
四、使用SSH连接Git代码仓库
如果以上的步骤都顺利完成,就可以在使用Git时,将协议从HTTP切换为SSH了。切换后,以后每次向Git代码仓库推送代码的时候,都不需要再输入密码了。
例如,将进行远程克隆代码操作:
$ git clone git@gitlab.com:username/project.git
命令解释:
- git:表示使用Git工具进行代码版本管理。
- clone:表示进行代码克隆操作。
- git@gitlab.com:username/project.git:是你想要克隆代码的地址,同样需要自己去获取。
执行完上述命令后,如果连接成功,则会将远程代码库的所有文件下载到本地进行版本控制。
五、撤销已添加的SSH key
如果某一天你不再想使用某个SSH key,那么你可以将这个SSH key撤销掉,操作如下:
- 在GitLab的“User Settings”页面中选择“SSH Keys”选项卡,找到要删除的SSH key选项。
- 点击右侧“Revoke”按钮,撤销该SSH key的访问权限。
如果有代码仓库在使用这个SSH key,那么撤销该SSH key后,这些代码仓库就会失去访问权限,需要重新配置SSH key。