赞
踩
GitHub配置SSH Key的目的是为了帮助我们在通过git提交代码是,不需要繁琐的验证过程,简化操作流程。
- git config --global user.name "zhangsan"
- git config --global user.email "zhangsan@qq.com"
说明:git config --list 可以查看当前Git环境所有配置
- cd ~/.ssh
- ls 或者 ll
- #看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key
如图
如果没有SSH Key,则需要先生成一下
ssh-keygen -t rsa -C "zhangsn@qq.com"
执行之后继续执行以下命令来获取SSH Key
- cd ~/.ssh
- ls 或者 ll
- #看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key
- cat id_rsa.pub
- # 拷贝秘钥 ssh-rsa开头
如图
新建一个SSH Key
随意命名,把之前拷贝的秘钥复制进去,就OK啦。
- ssh -T git@github.com
- # 运行结果出现类似如下
- Hi zhangsan! You've successfully authenticated, but GitHub does not provide shell access.
- # 当出现如下内容,可以在冒号后面输入一个密码,然后就会出现成功的提示。
- Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':
- Hi AmberShi! You've successfully authenticated, but GitHub does not provide shell access.
-
- 为了避免每次pull 和 push出现重复输入密码的现象,执行如下命令("id_rsa"->原有密码;"~/.ssh/id_rsa"->id_rsa的路径):
-
- $ ssh-keygen -p -P id_rsa -N '' -f ~/.ssh/id_rsa
- Your identification has been saved with the new passphrase.
之前已经是https的链接,现在想要用SSH提交怎么办?
直接修改项目目录下 .git文件夹下的config文件,将地址修改一下就好了。
如果用sourcetree提交代码,如下图进行配置,找到工具,选项,然后配置电子邮件地址,SSH密钥的位置,就是你git生成的密钥文件的位置,这里选中的是id_rsa,SSH 客户端选到OpenSSH,点击确定就OK了!
然后就可以从GitHub克隆了,如下,把GitHub 的ssh地址输入到 源路径下,目标路径是你自己选定的本地的位置,名字也是你本地仓储的名字,然后克隆
git地址如图
原因:GitHub 在 2022 年 3 月 15 日之后将不再支持 RSA
算法生成的密钥,因为 RSA
不够安全,而我之前一直是使用如下命令生成密钥对的:ssh-keygen -t rsa -C "邮箱
" (见上面的流程)
现改为使用 ed25519
。即:ssh-keygen -t ed25519 -C "邮箱
" (见上面流程,只需将rsa改为ed25519
)
过程中出现:ssh: connect to host github.com port 22: Connection timed out 这个问题时 解决方法见下图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。