配置git的ssh key通过SSH方式更新代码

什么是SSH

  • 简单说,SSH是一种网络协议,用于计算机之间的加密登录。
  • 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
  • 最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者TatuYlonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。
  • 在这里你只需要知道使用GitHub之前需要添加SSHkey,用来验证GitHub远程仓库就可以了,如果想深入了解原理,参考阮一峰SSH原理

通俗的说GitHub配置SSH Key的目的是为了帮助我们在通过git提交\拉取代码时,不需要繁琐的验证过程,简化操作流程。

配置步骤

首先得有个GitHub账户,如果没有,自觉出门右转去GitHub注册去,只需要准备好邮箱即可。

第1步 找到设置KEY的地方

按这个步骤找到设置 登入账户 - 点击右上角的个人头像 - 下拉菜单Settings - SSH and GPG keys,如下图 20200116153420

第2步 GitHub页面初建Key

  1. 在左边找到SSH and GPG keys 20200116153449.jpg
  2. 点击 New SSH key,你需要输入 Title 和 Key 随便命名个Title,比如Test,但是现在没有 key,就需要进行下一步 20200116153609.jpg 20200116153624.jpg

第3步 创建Key

  1. 打开 iTerm (windows推荐Git Bash) 如何安装?

  2. 复制并运行 rm -rf ~/.ssh/* 把现有的 ssh key 都删掉,这句命令行如果你多打一个空格,可能就要重装系统了,建议复制运行

  3. 运行 ssh-keygen -t rsa -b 4096 -C "你的邮箱",注意填写你的邮箱!

  4. 按三次回车,第一次enter之后,会让填写passphrase,最好的办法是什么都不如输入,直接回车,直接回车,直接回车 当然也passphrase也可以随便输入,记事本记一下,待会设置完之后检测需要用到

  5. 运行ll ~/.ssh,可以看到有2个id_rsa开头的文件 20200116154724.jpg 这里记住id_rsa就是钥匙,千万不要把这个东西泄漏出去,id_rsa.pub就是,需要上传的是这个锁而不是钥匙。 然后运行 cat ~/.ssh/id_rsa.pub,得到一串东西 20200116155011.jpg

    完整的复制这串很长的乱码,复制到刚才打开的GitHub网页KEY框里,点击提交,填写账户密码即可。

  6. 回到iTerm (windows是Git Bash),输入ssh -T git@github.com,得到如下图所示,如果有设置passphrase,则需要输入设置的passphrase。 20200116155222.jpg

Note: 如果你看到 Permission denied (publickey). 就说明你失败了,请回到第 1 步重来,是的,回到最上面的第 1 步重来;如果你看到 Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.. 就说明你成功了!


现在就可以使用ssh方式来拉取提交代码了。

补充说明
  • 一台电脑只需要一个 SSH key SSH 原理与运用
  • 一个 SSH key 可以访问你的所有仓库,即使你有 1000000 个仓库,都没问题
  • 如果你新买了电脑,就在新电脑上重新生成一个 SSH key,把这个 key 也上传到 GitHub,它可以和之前的 key 共存在 GitHub 上
  • 如果你把 key 从电脑上删除了,重新生成一个 key 即可,替换之前的 key
# git 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×