常见SSH加密算法

算法类型公钥私钥备注
ED25519id_ed25519.pubid_ed25519推荐,安全且快速,openSSH6.5中引入
RSAid_rsa.pubid_rsa常见,广泛兼容性好

PS:DSA、EdDSA  已不再使用或者不推荐使用;

查询已存在的SSH密钥

( Windows 请使用 WSLGit Bash

cat ~/.ssh/id_xxxx.pub

生成SSH密钥

( Windows 请使用 WSLGit Bash

ssh-keygen -t <密钥类型> -C "<注释内容>"

点击回车,填写SSH密钥生成路径

(以 ED25519 算法为例)

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519):

密钥默认生成路径:/home/user/.ssh/id_ed25519

公钥与之对应为:/home/user/.ssh/id_ed25519.pub

设置一个密钥口令

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

口令默认为空,你可以选择使用口令保护私钥文件。如果你不想在每次使用 SSH 协议访问仓库时,都要输入用于保护私钥文件的口令,可以在创建密钥时,输入空口令。

点击回车,完成密钥对创建

密钥用于鉴权,请谨慎保管。公钥文件以 .pub 扩展名结尾,可以公开给其他人,而没有 .pub 扩展名的私钥文件不要泄露给任何人!

https://help.aliyun.com/document_detail/153709.html?spm=a2c4g.153799.0.i2

拷贝公钥

Windows(WSLGit Bash

cat ~/.ssh/id_ed25519.pub | clip

Mac:

tr -d '\n' < ~/.ssh/id_ed25519.pub | pbcopy

GNU/Linux (requires xclip):

xclip -sel clip < ~/.ssh/id_ed25519.pub

Git 配置多密钥

查看全局user.nameuser.email

git config user.name
git config user.email

清空默认的全局 user.nameuser.email

git config --global --unset user.name
git config --global --unset user.email

在config 文件配置多个 ssh-key

编辑~/.ssh/config

# 账号A
Host codeup_1
HostName codeup.aliyun.com
IdentityFile ~/.ssh/id_xxx_1
PreferredAuthentications publickey
IdentityAgent none
IdentitiesOnly yes

# 账号B
Host codeup_2
HostName codeup.aliyun.com
IdentityFile ~/.ssh/id_xxx_2
PreferredAuthentications publickey
IdentityAgent none
IdentitiesOnly yes
  • HostName:填写托管平台服务地址;

  • Host:填写别名,方便命令行使用;

  • IdentityFile:填写证书位置;

使用别名进行区分使用不同的密钥

# 访问 Codeup,将使用 ~/.ssh/id_ed25519.pub 密钥
git clone git@codeup.aliyun.com:example/repo.com

# 以 codeup_1 别名访问 Codeup 时,将使用 ~/.ssh/id_xxx_1 密钥 
git clone git@codeup_1:example/repo.com

# 以 codeup_2 别名访问 Codeup 时,将使用 ~/.ssh/id_xxx_2 密钥 
git clone git@codeup_2:example/repo.com

参考

https://help.aliyun.com/document_detail/153709.html?spm=a2c4g.153799.0.i2

https://help.aliyun.com/document_detail/322237.html?spm=a2c4g.153709.0.0.4a604b3eoear3e



注意:本文归作者所有,未经作者允许,不得转载