生成并使用 SSH Key

写在前面

查询ssh版本(Linux与Windows系统均可使用)

ssh -V

一、生成公共密钥

私钥:id_rsa

公钥:id_rsa.pub

1.1 ED25519 SSH

 Practical Cryptography With Go 一书中表明 ED25519 密钥比 RSA 密钥更为安全。2014年 OpenSSH 6.5 引入 ED25519 SSH 密钥后,当前任何操作系统都可用使用这种密钥。

 你可以使用以下命令创建和配置 ED25519 密钥:

ssh-keygen -t ed25519 -C "clerith@163.com" 

 当然如果你想设置一个密码 来保护你的私钥,可以在提示时输入密码。

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

 如果成功,你将看到有关ssh-keygen命令将标识和私钥保存在何处的确认信息。

Your identification has been saved in C:\Users\shoun/.ssh/id_ed25519
Your public key has been saved in C:\Users\shoun/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:6FbkDjD6ZpwAM8ay8100G+yiDt7zT+4do0Kq5xkP1Us clerith@163.com
The key's randomart image is:
+--[ED25519 256]--+
|                 |
|.    .           |
|=o  o = .        |
|o= . =.B         |
|o o ..*ES        |
| o *.*.+.        |
|. ooX oo.o       |
|.o.*=oo o o      |
| o=+oo+= .       |
+----[SHA256]-----+

1.2 RSA SSH

 如果你使用 RSA 密钥生成 SSH 密钥,则我们建议你使用4096位( 至少2048 位)的密钥大小. 默认情况下 ssh-keygen命令会创建一个 1024 位 RSA 密钥.

 你可以使用以下命令创建和配置 RSA 密钥,如果需要,可以生成建议的最小密钥大小2048

ssh-keygen -t rsa -b 4096 -C "clerith@163.com" 

1.3 OpenSSH 6.5 ~ 7.8

 在 OpenSSH 7.8 之前,RSA 密钥的默认公共密钥指纹基于 MD5,因此并不安全。

如果你的 OpenSSH 版本介于 6.5 至 7.8(含)之间,请使用-o选项运行ssh-keygen ,以更安全的 OpenSSH 格式保存你的 SSH 私钥。

ssh-keygen -o -f ~/.ssh/id_rsa

或者,你可以使用以下命令以更安全的加密格式生成新的 RSA 密钥:

ssh-keygen -o -t rsa -b 4096 -C "clerith@163.com"

二、为项目设置 SSH 密钥

如果要根据正在使用的项目代码仓库使用不同的密钥,则可以在代码仓库中执行以下命令:

git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/private-key-filename-for-this-repository -F /dev/null" 

这不使用 SSH 代理,并且至少需要 Git 2.10. 

三、测试密钥

前置条件将公钥添加到代码仓库

3.1 测试连接

GitCode举例

ssh -T git@gitcode.com

在你第一次通过 SSH 方式连接到 GitCode的时候,将会询问你是否信任将要连接的 GitCode host地址。当确认 yes 后,会将 GitCode 作为已知主机添加到受信任的 hosts 地址中:

The authenticity of host 'gitcode.com (192.168.0.117)' can't be established.
ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitcode.com' (ECDSA) to the list of known hosts. 

第二次连接

remote: Welcome to GitCode, 2404_87623308

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值