我们从gitlab拉去代码通常有以下两种方式
在这里插入图片描述
http(s):会要求输入密码,可以选择将密码保存到本地,这样就会将密码持久化到本地。这也是最简单的一种方式,但这需要交互,而且密码直接存储在本地也不够安全。
ssh:使用ssh,通过公私钥授权git服务器的方式,不用输入密码
本文就记录一下生成及配置的过程

  1. 生成公私钥
$ ssh-keygen -t rsa -C "mw" -f ~/.ssh/gitee_id_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/NINGMEI/.ssh/gitee_id_rsa.
Your public key has been saved in /c/Users/NINGMEI/.ssh/gitee_id_rsa.pub.
The key fingerprint is:
SHA256:BSptyjUpG+NeLDj2S5LP1QLJELpLkk6Ihob37uGek/I mw
The key's randomart image is:
+---[RSA 2048]----+
|  .     .        |
| . . . o .       |
|. . = B   .      |
|=o * % . .       |
|O== X o S        |
|B+ * + .         |
|..o *.o .        |
|  .Bo= .         |
|   =E.           |
+----[SHA256]-----+

这里有个点需要说明
-f ~/.ssh/gitee_id_rsa:指定生成文件的名称(后续有用到,默认的名称为 id_rsa)

将公钥上传至被登录的服务器,目录为 ~/.ssh/authorized_keys

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.104
  1. git仓库配置ssh公钥
    在这里插入图片描述
    在这里插入图片描述

  2. 测试ssh连接

$ ssh -T -i ~/.ssh/gitee_id_rsa git@gitee.com
The authenticity of host 'gitee.com (180.97.125.228)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no)? yes
输入 yes
Warning: Permanently added 'gitee.com,180.97.125.228' (ECDSA) to the list of known hosts.
Hi xxxxx! You've successfully authenticated, but GITEE.COM does not provide shell access.

-i 指定密钥文件(如未自定义名称,可省略)
-p 指定ssh端口 (默认22,未修改可省略)
也可以采用以下方式配置
在.ssh目录下新建文件 config,加入

# gitee
Host gitee.com	#git ssh 连接时的名称
HostName gitee.com	#服务器ip或域名
IdentityFile ~/.ssh/gitee_id_rsa	#私钥文件位置

此时就可以省略 -i 参数了

  1. 测试拉取代码
    在这里插入图片描述
    弹出这个对话框就说明已经成功了
    在这里插入图片描述
    后续就可普通检出项目一样了。
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐