SSH keys 是为了防止任何人随意clone 或 push 代码而产生的.
keys 有公匙和密匙,你在本地生成了密匙和公匙之后,把你的公匙告诉给服务器或者其他协作者,那么你就可以在他们的git版本库clone和push代码等操作.相对于一台服务器来说,一台协作者机器对应一个SSH keys.
具体操作如下:
在终端输入
$ ssh-keygen -t rsa -C "man@meeit.com" (邮箱换成自己的)
然后出现
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Tekkub/.ssh/id_rsa): (这里是输入你的SSH keys 保存的位置,不输入直接回车就是前面的默认路径)
然后出现
Enter passphrase (empty for no passphrase): (这里要你输入口令,可以直接回车)
然后出现
Enter same passphrase again: (重复输入口令,上面没有设置就直接回车)
然后出现
Your identification has been saved in /c/Users/Tekkub/.ssh/id_rsa.
Your public key has been saved in /c/Users/Tekkub/.ssh/id_rsa.pub.
The key fingerprint is: e8:ae:60:8f:38:c2:98:1d:6d:84:60:8c:9e:dd:47:81 max@meeit.com
到这里,你的SSH keys 已经创建完毕,完后你到你SSH keys 保存目录里找到 id_rsa.pub 这个是保存你的公匙的文件,里面就是你的SSH keys 的公匙.
26># ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)?
28># cat /root/.ssh/id_rsa.pub
ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add。
1、把专用密钥添加到 ssh-agent 的高速缓存中:
ssh-add ~/.ssh/id_dsa
2、从ssh-agent中删除密钥:
ssh-add -d ~/.ssh/id_xxx.pub
3、查看ssh-agent中的密钥:
ssh-add -l
执行ssh-add时出现Could not open a connection to your authentication agent
若执行ssh-add /path/to/xxx.pem是出现这个错误:Could not open a connection to your authentication agent,则先执行如下命令即可:
ssh-agent bash
更多关于ssh-agent的细节,可以用 man ssh-agent 来查看
有话要说