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文件直接复制粘贴
浙公网安备 33010602011771号