添加SSH Key
生成新的 SSH 密钥对
- 生成密钥
- 注:参数
-o
不行可以去掉。
ssh-keygen -o -t rsa -C "your.email@example.com" -b 4096
- 指定保存密钥的文件
- 会生成两个文件,私钥:
xxx_id_rsa
,公钥:xxx_id_rsa.pub
。
生成后会提示需要指定保存密钥的文件,会有一个默认地址
~/.ssh/id_rsa
,如果已经存在,想存另一个文件,可以指定,例如~/.ssh/xxx_id_rsa
。- 修改配置文件
- 首先,检查
~/.ssh/config
文件是否在默认位置。 - 如果文件不存在,请创建该文件。
- 打开
~/.ssh/config
文件,然后修改文件以包含以下行。 - 如果您选择不向密钥添加密码,应该省略
UseKeychain
行。 - 如果您看到如下错误:
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain
,向Host *
部分添加一个额外的配置行:
如果不是使用默认密钥文件地址,需要将密钥文件信息写入配置文件
~/.ssh/config
中。$ open ~/.ssh/config > The file /Users/you/.ssh/config does not exist.
$ touch ~/.ssh/config
Host xxx AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/xxx_id_rsa
# GitLab.com server Host gitlab.com RSAAuthentication yes IdentityFile ~/.ssh/config/private-key-filename-01 # Private GitLab server Host gitlab.company.com RSAAuthentication yes IdentityFile ~/.ssh/config/private-key-filename
注意:
Host * IgnoreUnknown UseKeychain
将 SSH 密钥添加到网站帐户
- 将公钥信息拷贝到剪贴板
# macOS: pbcopy < ~/.ssh/~/xxx_id_rsa.pub # GNU/Linux (requires the xclip package): xclip -sel clip < ~/.ssh/xxx_id_rsa.pub # Windows Command Line: type %userprofile%\.ssh\xxx_id_rsa.pub | clip # Git Bash on Windows / Windows PowerShell: cat ~/.ssh/xxx_id_rsa.pub | clip
注:公钥是以
ssh-rsa
开头,邮箱结尾的文本。- 添加到网站指定位置
- 测试是否生效
ssh -T git@example.com # 加-v显示调试信息 ssh -Tv git@example.com
将 example.com 换成网站域名,如GitLab,看是否收到类似
Welcome to GitLab
的信息。