git 中 ssh key 的生成
一、github 一般有两种方式连接服务器
1、https 比较方便,但是每次fetch和push代码都需要输入账号和密码,略显麻烦
2、ssh 传输前压缩数据,传输效率高,不需要每次提供账号密码
二、 生成步骤及配置
1、 在你的用户目录 C:\Users\Light.ssh 是否有 .ssh 文件夹 如果没有创建,则按照步骤创建
如果之前此电脑已经生成过密钥,根据提示在overwrite的时候选择 y 覆盖即可。
2、$ ssh-keygen -t rsa -C "youremail@example.com"
3、复制 id_rsa.pub 里面的 公匙 到 github 中 settings 中的 SSH and GPG keys 选项 中创建 Title 可以任意取
4、验证 ssh -T git@github.com,
5、可能会提示,无法验证主机的真实性是否要建立连接,输入yes就行了。然后在执行 ssh -T git@github.com,就可以看到成功了;
三、生成账号的 ssh的秘钥(补充)
- 首先 ssh-keygen 会确认密钥的存储位置如果有多个账号可能会覆盖所以要选择其他路径(默认是 .ssh/id_rsa)
- 然后它会要求你输入两次密钥口令,如果使用了密码就输入密码,没有直接回车(第一次提交时如果有密码,还会提示输入密码);
四、 sourcetree 使用问题
有时候用sourcetree 提交的时候报错 提示 ssh密钥认证失败
解决方法:
修改SSH客户端配置 工具==> 选项 ===> 一般 ===> ssH客户端配置
将 SSH客户端 选项 PuTTY/Plink 修改 为 OpenSSH; SSH密钥自动会适配到当前id_rsa文件,点击确定。然后再重新点击【推送】就可以了。