美文网首页
GitLab配置ssh key

GitLab配置ssh key

作者: coming_168 | 来源:发表于2020-06-11 15:22 被阅读0次
    • Git可以通过https方式和ssh方式连接服务器上的仓库
    • 两者比较:
      1、https: 比较方便,但是每次fetch和push代码都需要输入账号和密码,略显麻烦
      2、ssh: 传输前压缩数据,传输效率高,不需要每次提供账号密码

    一、Git的user name和email设置

    git config --global user.name "xxx"
    git config --global user.email "xxx@qq.com"
    

    二、生成密钥

    • 检查SSH key是否已经存在
    ls ~/.ssh/id_rsa.pub
    

    输出:No such file or directory。代表不存在

    1、使用你注册github的邮箱生成秘钥
    ssh-keygen -t rsa -C "xxx@qq.com" 然后一路回车(-C 参数是你的邮箱地址)
    

    .ssh目录会生成id_rsa和id_rsa.pub两个文件:id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥

    2.然后会出现:Enter file in which to save the key (/Users/mm_lj/.ssh/id_rsa):
    回车键
    
    3.如果你的.ssh/id_rsa已经存在,则会出现:/Users/mm_lj/.ssh/id_rsa already exists.

    Overwrite (y/n)? y

    输入:y  (重新覆盖)
    输入:n  (不覆盖)
    
    4.设置密码(位数不要太短,尽量设置6位)

    三、添加SSH key到github账户

    两种方式:

    • 1、直接找到文件打开,然后复制


      image.png

      打开id_rsa.pub文件,然后复制里面的公钥,复制到GitLab的ssh key中去,添加key就好了。

    • 2、以下是通过命令方式查找公钥:

    cd ~/.ssh
    ls(查看目录是否有id_rsa.pub文件)
    查看公钥:cat id_rsa.pub 
    
    详细如下图: image.png

    获取到的那一大段,就是我们需要的ssh key,复制下来,包括前面和后面的,给到下图配置,即可完成GitLab配置ssh key


    image.png

    四、把ssh 添加到keychain中

    如果去git clone代码,会让你输入密码,如果一个还好说,如果关联了很多的话,那就比较麻烦了,这个时候的解决方法就是添加到keychain中:

    //文件路径:/Users/mm_lj/.ssh/id_rsa
    ssh-add -K /Users/mm_lj/.ssh/id_rsa
    

    注:.ssl 文件是隐藏的
    可以用如下的方式显示:
    开启显示隐藏文件:
    defaults write com.apple.finder AppleShowAllFiles -bool TRUE
    关闭显示隐藏文件:
    defaults write com.apple.finder AppleShowAllFiles -bool FALSE

    五、测试SSH key是否设置成功

    ssh -T git@github.com
    

    输出:
    The authenticity of host 'github.com (172.16.0.11)' can't be established.
    RSA key fingerprint is SHA256:nThbg6kXUpJWGl9E1IGOCspRomTxdCARLviKw6E6SY6.
    Are you sure you want to continue connecting (yes/no)? yes

    是否继续连接?输入 yes
    输出如下,则表示通过
    Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.

    六、设置项目连接方式

    • 这里修改的是项目中 .git (隐藏)文件夹下的config文件
    git remote set-url git@github.com:Demo/Demo-Base
    或者:
    // 用的http协议,换成ssh协议
    git remote set-url origin git@172.10.1.25:Eshop/CCEshop.git
    

    修改前:

    [remote "origin"]
        url = https://github.com/Demo/Demo-Base
        fetch = +refs/heads/*:refs/remotes/origin/*
    

    修改后:

    [remote "origin"]
        url = git@github.com:Demo/Demo-Base
        fetch = +refs/heads/*:refs/remotes/origin/*
    

    相关文章

      网友评论

          本文标题:GitLab配置ssh key

          本文链接:https://www.haomeiwen.com/subject/kofbtktx.html