zoukankan      html  css  js  c++  java
  • ssh配置git clone简易流程

    1. 生成密钥

    ssh-keygen -t rsa -C "jaynaruto@qq.com"

    //如果只有一对密钥,建议不要修改默认的密钥名称,即一直按回车即可

    此命令会在你当前用户的个人目录下(如我当前用户为savokiss,就在/home/savokiss/.ssh,root则为/root)生成一对密钥

    默认的名字为id_rsaid_rsa.pub

    2. 复制公钥

    复制id_rsa.pub中的内容到你git服务器(gitlab,coding,github)的配置ssh公钥的地方

    公钥内容类似:

    ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2czeS+H5+dSOA1F2QyOCF126LE2cfGzCfqll73i+C61o2VrRrQAqeadELSUeUYJRZkoNmBn/4ZMV7A0ZLvIpsMsXTkpQ+dE1rUtN/D01nFEoLPABsVb0KctGOozVWKXme7WTAdzGlW8Lyc6e/oOQZ71GXbthneh8FH/NBiZH2NsbFLePeq/YoO8RLoDK9WusOYotmqLvah99KoB2jm/dZ8G3Q36fXoVAo46NRbp1mdYyjwd7k2XUylQWbeWXpxP7Plr2VPQyrOuCxCaL9dzrZkWFhhoDOlpKppDoeCN6hUiMBz/eoOMw1Wlj+wtbpWPLJqv0rNn2+pO3BrMUcIMpw== jaynaruto@qq.com

     注: 如果仅仅需要部署,将以上公钥配置到项目的 deploy key 部分即可

    3. 测试连接

    以coding为例:

    ssh -vT git@git.coding.net

    这里的-v是显示详细信息

    具体会显示很长的信息提示你连接是否成功,成功的话会有一个successfully!

    Hello savokiss You've connected to Coding.net by SSH successfully!

    4. linux用户的问题

    上面测试成功了,但是我在`/usr/share/nginx/html`中clone repo竟然还是提示我 Permission denied (publickey)

    原因:

    上面我用的一直都是savokiss用户,具有sudo权限,而我生成密钥的时候没有加sudo,就生成在了`/home/savokiss/.ssh`下面

    但是我clone repo的目录是`/usr/share/nginx/html`,都是属于root的,所以我clone的时候只能加上sudo

    就是这个sudo造成ssh自动去`/root/.ssh`下面查找`id_rsa`私钥!!!

    所以我只能用sudo再生成一对密钥了。。o(╯□╰)o

    5. done

    步骤就这么简单,以前总是遇到问题是因为总是修改它默认的密钥名称,导致ssh在读取默认配置(id_rsa)的时候失败

    简单来讲不要改它默认的名字就好!

    当然如果你有多个密钥要管理,可以改,然后参考下面的文章:

    refer:

    多 SSH Key 管理技巧与 Git 多账户登录问题(小胡子哥)

     
  • 相关阅读:
    只有在人生的最低处才能看清这个世界
    深刻理解JavaScript原型链
    常用的正则表达式
    JS容易犯错的this和作用域
    站立会议第二天
    站立会议第一天
    典型用户分析
    第七周学习进度
    第六周学习进度
    最大子数组三
  • 原文地址:https://www.cnblogs.com/savokiss/p/5264483.html
Copyright © 2011-2022 走看看