Ubuntu github SSH配置

下午突然冒出一个想法:在虚拟机中搭建github SSH环境。经过折腾一下午后终于配置完成环境。

首先得谈谈ssh-keygen命令。如果需要掌握这个命令,需要了解下RSA、SSH。感谢@

iFantasticMe[Linux] 在 Linux CLI 使用 ssh-keygen 生成 RSA 密钥)。

1. 生成密钥与公钥

ssh-keygen -l

image

注:passphrase相当加了一重密码,此命令中其值为空。

2. 拷贝公钥

这个环节浪费了许多时间。finger printkey译作公钥指纹。公钥指纹的计算方法一般就是对公钥字符串进行 MD5 或者 SHA-1 等摘要计算得到,一个 1024 字节长度的 RSA 算法公钥,经过指纹计算后得到的公钥指纹只有 128(MD5摘要)字节或者 160(SHA-1)字节。

2.1 打开Github网页中设置—SSH Keys,添加SSH Key。名字随便填,SSH Key从公钥文件(.pub)拷贝

注:Github似乎会对公钥中注释自动去除,所以不必担心。

3. 测试

ssh -T git@github.com

如果看到”You've successfully authenticated, but GitHub does not provide shell access.”,则表示连接成功。

Problems:

Error: Permission denied (publickey)

解决方法:

  • 是否对Git使用sudo
  • 检查是否连接正确的服务器(主要是拼写错误,正确的服务器:git@github.com

通过以理命令检测是否连接正确的主机。

ssh -vT git@github.com
  • 是否使用正确的SSH公钥

这是作者犯的低级错误。开始学习ssh-keygen命令时,生成了两个RSA,但是在Github绑定的却不是默认的公钥。(默认公钥名字是id_rsa.pub

因此对于新手,最好不要生成多个公钥,这样可以显著地减少出错的机率。

4. 使用Git命令获取Github项目

git clone url – url可从Github仓库右侧复制

git push origin master -- 同步

参考:

ssh-keygen 中文手册

[Linux] 在 Linux CLI 使用 ssh-keygen 生成 RSA 密钥


作者:warrior

出处:http://www.cnblogs.com/miraclecoder/

版权:博客所有权归本人和博客园所有,如有转载请在显著位置给出博文链接和作者姓名,否则本人将保留依法追究的权利。

原文地址:https://www.cnblogs.com/miraclecoder/p/4224734.html