Git怎么使用SSH从GitLab上拉取代码

这篇具有很好参考价值的文章主要介绍了Git怎么使用SSH从GitLab上拉取代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章导入

我们本来在使用http/https愉快的拉取代码玩耍,但是突然你的Leader告诉你,我们需要使用SSH协议进行Git远程仓库的交互!!!!很迷茫,怎么办,没做过,为什么要使用SSH,不知道怎么做!此文章诞生,保姆级教程。
环境:win11、git version 2.41.0.windows.1

一、怎么生成SSH密钥

1、进入你的ssh配置文件夹,地址eg: C:\Users\张三\.ssh
2、在地址栏输入CMD打开此位置的小黑窗
git ssh拉取,git从进门到高级精通,git,ssh,gitlab,运维

3、打开带此地址的小窗后,输入ssh-keygen -t rsa -b 4096 -C "huweiwei@xxxx.com"
!!!!!!!!各参数意思解释看最后!!!!!!!!
会提示:

C:\Users\13735\.ssh>ssh-keygen -t rsa -b 4096 -C "huweiwei@xxxx.com"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\13735/.ssh/id_rsa):

此时光标闪烁,需要我们输入要生成的密钥的文件名称,我输入gitlab_key
会提示:

C:\Users\13735\.ssh>ssh-keygen -t rsa -b 4096 -C "huweiwei@xxxx.com"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\13735/.ssh/id_rsa): gitlab_key
Enter passphrase (empty for no passphrase):

此时光标闪烁,需要我们输入密码,此密码即为我们每次操作git的时候需要输入的密码,相当于进门的钥匙,是我们自己使用的,可以防止可爱的同事拿你的电脑提交可爱的代码~~~
我输入密码123456,会再次提示请输入密码,再次输入即可,两次不一致也会给出提示。输入完两次密码如下即密钥生成成功:

C:\Users\13735\.ssh>ssh-keygen -t rsa -b 4096 -C "huweiwei@xxxx.com"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\13735/.ssh/id_rsa): gitlab_key
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in gitlab_key
Your public key has been saved in gitlab_key.pub
The key fingerprint is:
SHA256:oWWRRWeV03SYb17D7wl//iJSwbSfvq0ibA8HlhP2AoI huweiwei@xxxx.com
The key's randomart image is:
+---[RSA 4096]----+
|        .+o o..*o|
|     .  .. o. = o|
|    E . = oo ..o |
|       = + ++  o+|
|      . S * .o ++|
|         . +..o o|
|         .....o..|
|          =oo o+o|
|         . +.oo=*|
+----[SHA256]-----+

然后去我们的ssh的文件夹里去看,果然生成了我们输入的名字的密钥,如图:
git ssh拉取,git从进门到高级精通,git,ssh,gitlab,运维

二、怎么配置到gitlab上

现在密钥有了,我们就可以配置到gitlab上啦,刚才生成的两个文件,用记事本打开.pub的那个文件,然后复制里面的内容,打开gitlab的主页,然后添加Key,如图:
git ssh拉取,git从进门到高级精通,git,ssh,gitlab,运维
至此所有的配置流程就完成了~

三、进行Clone

好了 简简单单就配置好啦~现在可以拉仓库了,当然是用SSH去拉,命令:git clone ssh://git@192.168.127.108:5548/project/wechat.git

然后不出意外的话就会出意外,如果出意外,请看下节!

四、可能遇见的问题

1、完成了上述流程之后还是拉不下来,提示 Permission denied (publickey)
解决:删除ssh文件夹下所有文件,重新生成、重新配置、重新拉取,ok
2、三个重新之后还是 Permission denied (publickey),请再重新生成(这里需要注意:生成的时候提示Enter file in which to save the key (C:\Users\13735/.ssh/id_rsa):不要设置文件名,不设置会采用默认的,我发现自己设置文件名会造成系统识别不了,导致校验失败),重新配置,重新拉取,这次肯定ok,还不行请留言~
3、如果在生成密钥的时候输入了密码,会提示让输入密码,我们之前输入的是123456,输入即可

五、SSH和HTTPS方式特点说明,为什么要使用SSH

很明显,两种拉取方式使用的协议不同,有兴趣可以研究SSH协议、HTTP协议;而HTTPS协议其实是HTTP+SSL。具体:
ssh:
(1)默认端口22
(2)验证方式是本地生成ssh密钥,上传到服务器;
(3)不用反复输入密码
一般线上服务器不会默认开通22端口,所以ssh适合内部项目开发使用,配置相对繁琐,新手不友好。
http/https:
(1)默认端口80、443
(2)验证方式方式是通过用户名和密码
一般线上服务器都是开发80端口和443端口的,可以无感远程操作,适合做一些开源项目和内部项目。输入账号密码即可,新手相对友好,现在很多密码持久保存策略,也都可以实现不用每次都输入密码。

六、生成SSH密钥时各参数解释

ssh各参数系统解释如下:

usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
           [-i identity_file] [-J [user@]host[:port]] [-L address]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] destination [command]

ssh-keygen各参数系统解释如下:

usage: ssh-keygen [-q] [-a rounds] [-b bits] [-C comment] [-f output_keyfile]
                  [-m format] [-N new_passphrase] [-O option]
                  [-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa]
                  [-w provider] [-Z cipher]
       ssh-keygen -p [-a rounds] [-f keyfile] [-m format] [-N new_passphrase]
                   [-P old_passphrase] [-Z cipher]
       ssh-keygen -i [-f input_keyfile] [-m key_format]
       ssh-keygen -e [-f input_keyfile] [-m key_format]
       ssh-keygen -y [-f input_keyfile]
       ssh-keygen -c [-a rounds] [-C comment] [-f keyfile] [-P passphrase]
       ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
       ssh-keygen -B [-f input_keyfile]
       ssh-keygen -D pkcs11
       ssh-keygen -F hostname [-lv] [-f known_hosts_file]
       ssh-keygen -H [-f known_hosts_file]
       ssh-keygen -K [-a rounds] [-w provider]
       ssh-keygen -R hostname [-f known_hosts_file]
       ssh-keygen -r hostname [-g] [-f input_keyfile]
       ssh-keygen -M generate [-O option] output_file
       ssh-keygen -M screen [-f input_file] [-O option] output_file
       ssh-keygen -I certificate_identity -s ca_key [-hU] [-D pkcs11_provider]
                  [-n principals] [-O option] [-V validity_interval]
                  [-z serial_number] file ...
       ssh-keygen -L [-f input_keyfile]
       ssh-keygen -A [-a rounds] [-f prefix_path]
       ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
                  file ...
       ssh-keygen -Q [-l] -f krl_file [file ...]
       ssh-keygen -Y find-principals -s signature_file -f allowed_signers_file
       ssh-keygen -Y check-novalidate -n namespace -s signature_file
       ssh-keygen -Y sign -f key_file -n namespace file ...
       ssh-keygen -Y verify -f allowed_signers_file -I signer_identity
                  -n namespace -s signature_file [-r revocation_file]

前面使用的生成SSH密钥的命令:ssh-keygen -t rsa -b 4096 -C "huweiwei@xxxx.com"
-t 就是生成策略了,策略有这些: dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa 我们使用rsa策略
-b 是指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)
-C 是comment,注释文字,我们写的是邮箱文章来源地址https://www.toymoban.com/news/detail-654899.html

到了这里,关于Git怎么使用SSH从GitLab上拉取代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 配置本地Git从Gitlab上拉取项目

    安装git: https://git-scm.com/downloads git官网下载安装包,安装时一路next即可 创建一个文件夹,任意位置即可 鼠标右键选择,git bash here 配置提交人姓名、邮箱 查看配置结果: 2.1 配置SSH方式 为实现免登录效果,使用ssh实现身份验证,不需要提供用户名和密码。依据公钥私钥配对

    2024年01月16日
    浏览(45)
  • WSL无法通过SSH从git拉取仓库代码

    在上一篇博客中,解决了无法从git拉取仓库到本地的问题,但是当时的办法并未完全解决这个问题,当时只能通过HTTPS协议拉取git仓库,下面介绍如何通过SSH从git拉取仓库,过程参考了这篇博客。 执行上面的命令后,会在命令窗输出公钥的信息,我的公钥是 SHA256:/V+VhNBWst//P

    2024年01月24日
    浏览(48)
  • Git桌面工具 SourceTree上配置SSH,拉取代码

    1、生成SSH key 密钥对文件 打开Souce Tree– 点击命令行模式,如下: 2.在弹出的Git 窗口内输入以下命令 期间会提示输入密码,我这里直接4 次回车,直接跳过。( 建议不要填写密码 ) 这一步结束,在电脑路径 C:UsersAdministrator.ssh 下会生成两个文件。id_rsa (私钥) 和 id_rsa.pub (

    2024年02月11日
    浏览(49)
  • 代码管理git生成ssh key (公钥私钥)配置GitLab

    git在我们日常项目管理中起了很大的作用,是我们能够更好地管理我们的代码,git的管理是基于ssh密钥进行的,所以在使用前我们需要进行ssh配置。 首先我们需要配置user name和email 配置完成我们需要去查看我们本地是否已经存在.ssh文件夹(一般存在c盘用户下面,也可使用命令

    2024年02月16日
    浏览(58)
  • WIN11环境下Git配置SSH Key拉取Gitee仓库代码

    Gitee官方配置参考网址: https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE。 https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE。 Windows 用户建议使用 Windows PowerShell 或者 Git Bash,在命令提示符下无 cat 和 ls 命令。 ssh-keygen -t ed25519 -C \\\"Gitee SSH Key\\\" -t key 类型 -C 注

    2024年04月29日
    浏览(69)
  • git拉取提交代码进行身份验证-输入账号密码以及配置SSH公钥

    git初次拉取代码或者提交代码时,需要进行身份验证。验证有两种方式:1、账号密码验证;2、SSH公钥验证。 本文章以gitee为例 1.首先找到电脑本地项目文件夹,在地址栏中输入 cmd 回车,打开命令行窗口。 2.输入 git clone 要拉取的项目地址,回车,一会弹出输入账号密码的对

    2024年02月12日
    浏览(44)
  • 配置 ssh key 后 git 拉取代码一直提示输入用户名、密码问题

    中间过程比较碎碎念,涉及到一些错误的方案以及和 gpt 对线 可以直接跳到结论部分 我有一个项目,仓库里已经配置了 ssh 公钥,但是每次 pull 或者 push 代码依旧提示输入用户名、密码 这种情况下第一个想到的就是是不是要全局配置一下用户名、密码,网上找到的方案是 试

    2024年02月12日
    浏览(54)
  • gitlab配置使用ssh(clone)拉取项目失败的踩坑排查记录(配置了SSHkey仍然不能正常拉取代码)

    说起这个由来有一点尴尬,以前公司使用svn,使用git不多,后来由于项目管理和人员协作的需要开始使用git作为项目版本管理,以前的项目管理感觉比较混乱,所以就搭建了gitlab,gitlab-runner来作为项目管理,项目版本管理和自动化部署CICD,这样也确实提高了效率,但是呢,由

    2024年02月13日
    浏览(41)
  • GitLab拉取代码前的SSH密钥配置

    1、检查SSH秘钥是否存在。右击git bash打开终端执行命令 : 2、若密钥不存在,则生成SSH 密钥 。在git bash上面执行命令:         按三次回车  成功后也会在C盘下的用户文件夹中显示一个.ssh的文件夹 : C:Users.ssh pub结尾的就是公钥,另一个是私钥 3、查看公钥cat ~/.ssh/id_rsa

    2024年02月07日
    浏览(35)
  • 如何使用idea开发gitlab项目(git bash SSH密钥)

    下面是使用 Git 获取 SSH 密钥的详细步骤: 1. 打开 Git Bash 终端:您可以在 Windows 操作系统中通过点击 \\\"开始\\\",然后在搜索框中输入 \\\"Git Bash\\\" 来打开 Git Bash 终端。 2. 生成 SSH 密钥:在 Git Bash 终端中,输入以下命令来生成 SSH 密钥:    ```    ssh-keygen -t rsa -b 4096 -C \\\"your_email@exa

    2024年02月06日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包