ssh配置git clone简易流程

Posted savokiss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh配置git clone简易流程相关的知识,希望对你有一定的参考价值。

1. 生成密钥

ssh-keygen -t rsa -C "[email protected]"

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

此命令会在你当前用户的个人目录下(如我当前用户为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== [email protected]

 

3. 测试连接

以coding为例:

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

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

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

 

以上是关于ssh配置git clone简易流程的主要内容,如果未能解决你的问题,请参考以下文章

gitlab ssh clone设置

基于SSH协议clone GitHub远端仓库到本地-git

git clone ssh-key, 挑重点

gitlab配置ssh key后,还是需要输入密码,git clone http可以。

git中https和ssh的区别

Gitblit Git 无密码 clone pull SSH Key 生成