https://www.cnblogs.com/hzhhhbb/p/13937628.html
关于SSH
使用SSH协议,可以连接到远程服务器和服务并进行身份验证。 使用SSH密钥,可以连接到GitHub,而无需在每次访问时都提供用户名或密码。
生成新的 SSh Key
-
打开 Git Bash 并输入以下命令(用你的GitHub电子邮件地址替换命令中的电子邮件地址)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-
当看到以下命令提示时,按回车,就会把文件存在默认的路径下(可以改路径,改路径后,在后边的操作需要额外的操作,这里我不改路径)
> Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):
-
当看到以下命令提示时,输入自定义密码(不是GitHub密码),这个密码在连接GitHub时会用到,比如pull、push的时候
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
-
确保生成成功
- 当在目录c/Users/you/.ssh/下看到刚才生成的文件时(id_rsa、id_rsa.pub),表示生成成功
把 SSh Key 添加到 ssh-agent
- 确保 ssh-agent 在运行
- 一般情况下,都是自动启动的
- 也可以用以下命令手动启动(输出:Agent pid 59566)
eval $(ssh-agent -s)
- 把SSH 私钥添加到ssh-agent。如果你使用其他名称创建密钥,或者要添加具有其他名称的现有密钥,使用私有密钥文件的名称替换命令中的id_rsa。
ssh-add ~/.ssh/id_rsa
把SSH Key添加到Github账号中
将新的SSH密钥添加到GitHub帐户后,就可以重新配置任何本地仓库以使用SSH。
-
复制SSH Key
- 执行命令复制
clip < ~/.ssh/id_rsa.pub
- 打开c/Users/you/.ssh/id_rsa.pub文件手动复制
- 执行命令复制
-
在GitHub网站页面,点击右上角的个人头像,点击Settings
-
点击左侧栏目中的“SSH and GPG keys”
-
点击右上角的“New SSH key”
-
在打开的页面中的Title中填入这个key的描述,如Company Computer;在Key中粘贴复制的SSH Key;然后点击Add SSH Key按钮
-
在弹出的页面中输入Github密码
-
完成添加
把本地仓库的远程URL从HTTPS切换到SSH
- 打开Git Bash
- 切换到本地仓库根目录
- 查看当前仓库使用的仓库地址
git remote -v > origin https://github.com/USERNAME/REPOSITORY.git (fetch) > origin https://github.com/USERNAME/REPOSITORY.git (push)
- 切换
git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
- 验证
git remote -v # Verify new remote URL > origin git@github.com:USERNAME/REPOSITORY.git (fetch) > origin git@github.com:USERNAME/REPOSITORY.git (push)
- 其他方法
打开本地仓库目录中的.git文件夹,找到config文件,修改其中的url值
最后
到此,切换完成。后续的pull、push等操作就会使用SSH了
如果忘记了SSH Key密码
重新生成一个SSH Key,添加到github即可