git中分别使用https和ssh登陆gitlab
gitlab中,建立好库后,需要克隆到本地。通常提供两种加密协议:ssh和https。
1. https
git clone https://gitlab.com/tes1473/Test.git
中间会提示你输入用户名和密码。用户名是你的username, 不是fullname。
输入正确一次后,windows会记录下你用户名和密码,以后gitlab所有的库操作,就都不用再次输入了。
2. ssh
2.1 生成密钥对
bash或者cmd中,输入
ssh-keygen -t rsa
Enter file in which to save the key (C:\Users\xiaoming/.ssh/id_rsa):
此时询问密钥的保存位置。如果地址不是该默认地址,需要手动输入正确的路径。
我电脑上,被其他软件添加了HOME环境变量,导致默认路径变了,生成的id_rsa放在了其他地方。
接下来会询问ssh是否需要密码,直接回车跳过即可。
此时,C:\Users\xiaoming/.ssh/路径下,就会生成id_rsa.pub和id_rsa两个公钥和私钥文件。
2.2 gitlab添加公钥
将id_rsa.pub的内容,添加到gitlab的ssh中,此处不赘述。
2.3 本地命令行操作
命令行中进行克隆。
git clone git@gitlab.com:tes1473/Test.git
成功后,.ssh文件夹下会生成一个"known_host"文件,这个文件就是保存了一些ssh交互的信息。
值得注意的是,如果私钥存放的地址,不是在.ssh默认文件夹下,需要添加一个文件名“config”的文件。文件内容如下:
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/temp/id_rsa
里面最重要的是 IdentityFile ~/.ssh/temp/id_rsa ,相当于手动指定私钥的位置。
2.4 TortoiseGit
Tortoise 需要用putty产生密码对,才能实现ssh登陆。不再赘述。
我觉得https完全够用了。