SSH

22 阅读1分钟

生成

ssh-keygen -t rsa -C "xxx@xxx.com"

ssh-keygen -t rsa -b 4096 -C "xxx@xxx.com" -f ~/.ssh/github_rsa

• -t rsa: 指定使用 RSA 算法。

• -b 4096: 指定密钥的位数为 4096 位(默认是 2048 位)。

• -C "xxx@xxx.com": 为密钥添加注释,比如你的邮箱地址。

• -f ~/.ssh/github_rsa: 指定生成密钥的文件路径和名称,密钥将会保存在 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub 中。

  • 密钥文件名:默认是id_rsa
  • 密码: 默认空

多个ssh需要额外配置

ssh-add ~/.ssh/id_rsa
ssh-add --apple-use-keychain ~/.ssh/github
cd ~/.ssh
touch config
open config

配置文件(没有后缀,名字就被是config)

Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa

# gitlab
Host gitlab.ylwnl.com   
HostName gitlab.xxx.com   
PreferredAuthentications publickey  
IdentityFile ~/.ssh/gitlab_id_rsa 

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa

  • Host:自定义别名,会影响git相关命令
  • HostName:真实的服务器地址(域名)
  • User:之前配置的用户名可以省略
  • PreferredAuthentications:权限认证(publickey,password publickey,keyboard-interactive)一般直接设为publickey
  • IdentityFile:rsa文件地址

产看配置数量

ssh-add -l

  • 通常要在钥匙串中删除旧的配置,找到对应网址标识删除即可