SSH

百度了一下,SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。

姑且理解它为terminal远程访问的协议吧。这次是需要本地需要访问git需要配置ssh的key。好像接口测试的HTTPS协议也会用到,这次融会贯通了。

本地想要远程连接git仓库,就要用ssh,SSH生成一个密钥保存在本地,再通过本地的配置文件,讲密钥路径引用。最后在git的终端配置一下密钥做个对接,就可以使用ssh了。

以下内容来自于Github官网:https://help.github.com/articles/set-up-git/

文章里面分为本地有ssh key和没有的情况,我是第一次生成,所以主要记录这个过程。

生成一个新的 SSH key

打开终端,用我的邮箱标记生成key

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

生成以后显示如下,要求我输入一个key文件的保存路径。

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

记住保存路径,这很重要!

以上会要求输入密码,密码要输入两遍。5个字符以上。

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

输入完成,会告诉你两个信息;

1、认证信息已经保存

2、公钥文件生成路径。一般是跟key的文件路径相同的后缀名为.pub文件

Your identification has been saved in /Users/adobe/.ssh/id_rsa.
Your public key has been saved in /Users/adobe/.ssh/id_rsa.pub.

 

ssh-agent来管理我的ssh key

首先,启动一个ssh-agent进程

eval "$(ssh-agent -s)"
Agent pid 59566

再通过vim命令进入ssh的配置项的编辑模式

vim ~/.ssh/config

在配置文件修改以下内容,并保存。以下是声明以下key文件保存位置,还有一些其他配置项例如host,ipadress,port等可以百度

Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa

最后添加私钥到ssh-agent

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/adobe/.ssh/id_rsa: 
Identity added: /Users/adobe/.ssh/id_rsa (/Users/adobe/.ssh/id_rsa)

 

再在github服务端配置密钥

通过以下命令把公钥内容拷贝,也可以到刚才的公钥目录下(刚才的后缀名为 .pub的文件),直接获取信息手动拷贝

$ pbcopy < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard

 

到github的网站上,点击settings,左边栏选择 SSH and GPG keys.

点击 New SSH key or Add SSH key.

title的名字随便起,主要是标识客户端。key的内容可以直接粘贴,因为刚才已经复制过,也可以打开pub文件直接复制粘贴

 

posted @ 2017-04-12 22:46  jagger123  阅读(143)  评论(0)    收藏  举报