为什么配置SSH
- git使用https协议,每次pull、push都要输入密码,相当烦。使用ssh密钥可以省去每次都输密码。
- 多人协作的需要,区分权限及身份。
配置步骤
前提:已安装git,很简单,不多说。
- 本地创建SSH key。使用GitHub的注册邮箱
ssh-keygen -t rsa -C "your_email@youremail.com"
- 第一步成功后,本地~/下生成.ssh文件夹,打开其中的id_rsa.pub,复制key
- 进入github,Personal Settings--SSH and GPG Keys--New SSH Key,粘贴刚才的key
- 验证是否成功:
ssh -T git@github.com
验证时提示是否continue,输入yes,若成功就会看到:You've successfully authenticated, but GitHub does not provide shell access 。
遇到报错
不幸遇到了报错:Host key verification failed.
这说明key验证失败了。网上大部分的解答是基于Linux\Mac环境的,无非是修改权限,或者删除known_hosts公钥信息。而我是win10,且偏偏.ssh 目录下缺少 known_hosts文件。
最后在 stackoverflow 上找到解答,一试即灵:
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
以上,谨做记录,以供有需要的同学。