Git和SSH keys
Git是一个版本管理系统,意味着,你可以在本地开始自己的修改,你也可以推送自己的修改到其他git服务器。在你推送自己的修改到远程的git服务器时,你需要一个安全的交流通道去共享修改信息。
SSH提供了这种安全策略,允许你去授权远程的Git服务器不需要在每次推送时都输入账号和密码。
对于更多关于SSH的信息,建议你去读 this nice tutorial by DigitalOcean.
检查是否已存在密钥对
在生成新的秘钥对之前,应该先检查是否已经存在一个秘钥对。在任意位置打开一个shell窗口或者Windows的命令行提示符,然后运行如下命令:
Windows Command Prompt:
Git Bash on Windows / GNU/Linux / macOS / PowerShell:
如果存在ssh-rsa文件,表名密钥对存在,可以直接复制到剪切板,略过生成新的秘钥对步骤。反之,你应该生成一个新的密钥对,按照接下来的生成新的秘钥对步骤操作.
说明:公开秘钥对的名称也可能如下:
- id_dsa.pub
- id_ecdsa.pub
- id_ed25519.pub
生成新的密钥对
1.生成新的密钥对,使用如下命令
Git Bash on Windows / GNU/Linux / macOS:
Windows:
建议安装git工具
2.接下来会提示输入秘钥对保存路径
如果选择默认路径,不需要再做任何的配置,SSH客户端会自动使用密钥对
如果自定义路径,需要输入一个路径,然后在.ssh/config文件里配置该路径。(目前还没有试过该情况)
3.接下来会提示输入密码,你可以直接按Enter键略过输入密码
提示:修改秘钥密码请使用ssh-keygen -p <keyname>.
4.复制秘钥对到剪切板
复制秘钥对使用如下命令:
macOS:
GNU/Linux (requires the xclip package):
Windows Command Line:
Git Bash on Windows / Windows PowerShell:
5.最后粘贴密钥对到Git服务器