github 的ssh与非对称加密算法

来源:互联网 发布:西安交大电气考研知乎 编辑:程序博客网 时间:2024/06/15 05:57

fedora底下要想github提交某个本地的repository,需要

如下配置ssh key

https://help.github.com/articles/generating-ssh-keys/



这里面的id_rsa.pub就是一个public key,由于SSH是基于非对称加密的方法,这里可以将简单说一下非对称加密,以及github里面为什么需要提交id_RSA.pub的key

那么非对称加密算法是一个什么概念,很简单就是通过一种算法生成两个密码,一个密码叫做public key,一个叫private key。那这两个 key分别用来加密和解密数据,这样整个非对称加密如下面所表示:

a :  a.pri  a.pub  b.pub                 -----------------------------   b : b.pri b.pub a.pub

public key是可以公开的,也是我们放到github上的,那如何生成private 和 public key,就是用传说中的RSA, 是3个大神的名字开头字母组成。

RSA的基本规则是,用private加密的数据可以用对应的public解密, 用public加密的数据也可以用private解密。


所以github上的public key可以下载,在know_host文件中,自己的public key在id_rsa.pub里面,自己的private key在id_rsa里面。如下:

cd ~/.ssh

-rw-------. 1 root root 1766 Nov  9 11:21 id_rsa
-rw-r--r--. 1 root root  399 Nov  9 11:21 id_rsa.pub
drwxr-xr-x. 2 root root 4096 Nov  9 11:19 key_backup
-rw-r--r--. 1 root root  803 Nov  9 11:34 known_hosts

这样我们要给github传数据先用know_host的public key加密,再用自己的private key加密,github受到数据后,先用我们的public解密,再用自己private key 解密,就完成了在非安全信道上的安全数据传输!!。同理github向我们传数据也是类似过城。


用直接vim打开复制ssh生成的pub到github上会有点问题。用https://help.github.com/articles/generating-ssh-keys/上面说的用xclip完成。


0 0
原创粉丝点击