github SSH配置
github SSH配置
前言
github有两种更新的渠道,一种是https的,一种是ssh的,其中https每次都要输入密码,非常烦。所以,最好是配置好ssh。
ssh 配置
ssh是什么?他是一种远程登录服务,登录后连接到服务器的终端上,然后就可以为所欲为了。git服务器也支持ssh登录(当然只给你控制仓库上传和下载)。
第一步,就是要生成私钥和公钥密钥对,这是一种加密方式,它给出一对密码,私钥加密,公钥可以解密,公钥加密,私钥可以解密,其中,公钥是可以公开发行的,别人用你的公钥加密了数据,这个密文数据发给你,你就能用私钥进行解密。然后你拿到对方的公钥,同样的步骤,你就可以发加密后的信息给他。这就达成了加密通信。理论上是很难破解的,只要你藏好私钥。
ssh-keygen
命令会生成一对秘钥,在linux中一般是放在~/.ssh/目录下面。秘钥文件是一个文本文件,可以打开读取。把公钥内容复制粘贴到服务器上面,服务器就拥有你的公钥了。
创建密钥对让你输入私钥的名字:比如htqxgit_rsa 是私钥,htqxgit_rsa.pub就是公钥。
但是,如果你有很多对秘钥,服务器怎么知道你要用哪个呢?
这一步是很少人会提到。在~/.ssh/目录下,新建config文件,这里面可以配置。
Host gitee.com #这是码云仓库
HostName gitee.com #域名
User git #用户
IdentityFile ~/.ssh/htqxgit_rsa #指定私钥,用绝对地址
一般仓库地址是 git@gitee.com 这种形势,其中@gitee.com 就是Host设定的,git@就是用户名指定的。 然后指定秘钥文件,注意要用绝对地址。
同理,你也可以配置github的,甚至是你个人架设的服务器的ssh。
有时候,你不只一个账户在同一个网站,怎么办?你只需要修改 Host gitee.com 成 htqx2.gitee.com。 然后在git里面用git@htqx2.gitee.com 取代默认链接,也是可以正常访问的。因为访问的真实地址是HostName gitee.com指定。