git远程数据库的创建方法
在日常工作中想将已经创建好的git本地数据库上传到github的远程数据库中,具体操作方法暂记如下。
在本地创建SSH Key
首先我们先来了解一下什么是ssh?简单来说ssh就是一种网络协议,用于计算机之间的加密登录。
要想将本地数据库从本地计算机上传到github上的远程数据库上,那么就需要使用SSH这种协议,使用ssh协议登录另一台远程计算机是安全的,因为它将登录信息进行了加密,这样即使中途被截获,密码也不会泄露。它的具体工作过程是这样的,
(1)远程主机收到用户的登陆请求,把自己的公钥发给用户,
(2)用户用这个公钥把登陆密码加密以后再发送回去
(3)远程主机用自己的私钥解锁登陆密码,要是密码正确,就同意登录
通过上面的流程我们对SSH的工作机制有了一个简单的了解,那么这种工作方式是否有风险呢?答案是肯定的,如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户无法分辨真假,因为SSH协议的公钥不像https协议,它是没有证书中心(CA)公证的,都是自己进行签发,用户将自己的登陆密码发给了冒充的远程主机,冒充的远程主机再用这个密码登录真正的远程主机,那么SSH的安全机制就荡然无存了。这就是著名的中间人攻击----Man-in-the-middle attack。
但是中间人是如何获得远程主机的公钥的呢?它发给用户的伪造公钥如何做到和真正的公钥一样呢?
中间人的公钥不必与远程主机的公钥一样,他将自己伪造的公钥发给用户,获取到用户的密码,然后自己向远程主机请求登录,拿到远程主机的公钥后用截获的密码加密发给远程主机,远程主机验证正确,这样中间人就以用户的身份成功登录
那么我们现在来创建一个SSH Key
首先我们先在主目录下看看有没有.ssh目录,如果有的话直接打开里边的id-rsa.pub文件,复制里边的SSH key。如果没有的话我们打开命令行(git bash)进行配置,打开命令行输入如下命令
ssh-keygen -t rsa -C “email@