• 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 多账户登录问题(小胡子哥)

     
  • 相关阅读:
    从与计算机结缘说起
    个人作业2:APP案例分析
    团队作业4——第一次项目冲刺(Alpha版本)第二篇
    团队项目作业1团队展示与选题
    团队作业4——第一次项目冲刺(Alpha版本)第三篇
    团队作业3——需求改进&系统设计
    技术博客
    技术博客二
    bootstrap前端框架使用总结分享
    ADO.NET Entities Framework 的增删查改(我自己写的,可以作为范例)
  • 原文地址:https://www.cnblogs.com/savokiss/p/5264483.html
Copyright © 2020-2023  润新知