1、在本地使用命名创建公钥
输入命令 $ ssh-keygen -t rsa -C 'xxxxxxxx'
$ ssh-keygen -t rsa -C 'xxxxxxxx'
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):##保存的目录,可以直接回车
Enter passphrase (empty for no passphrase):##密码,直接回车就是空密码
Enter same passphrase again:##再次输入密码,空密码直接回车
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:1ZL+UMbC/fwUxTitRpicyidbX1hSU6y5n2ZujNL/+GA xxxxxxxx
The key's randomart image is:
+---[RSA 3072]----+
| . + B=|
| . == = B|
| .*.*. X |
| o+=oo* o|
| S o= ooo.|
| .o oo |
| o E.o|
| . + O.|
| . B++|
+----[SHA256]-----+
上面命令执行后会生成公钥和私钥在后面显示的目录中,pub结尾的是公钥
然后用记事本打开公钥文件,复制里面的内容
2、在码云新建个人的ssh公钥
在个人设置里的左侧菜单有个ssh公钥,进去之后在标题位置随便起个名,然后把第一步生成的.pub结尾的文件用记事本打开,复制里面全部内容(即复制公钥)到公钥框里,点确定即可。
![](https://i-blog.csdnimg.cn/blog_migrate/7d7b05af919ab82b71a0b8538370f58b.png)
ssh-keygen命令解释
用Git生成密钥的时候,查询到的命令是:
ssh-keygen -t rsa -C "xxxxxxxxxxx"
或是
ssh-keygen -t rsa -b 4096 -C "xxxxxxxxxxxxx"
ssh
SSH 为Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。
ssh-keygen
SSH提供两种安全验证
- 基于口令的安全验证
就是通常意义上的账号密码登录,登录过程是全程加密的。 - 基于密钥的安全验 ssh-keygen:
需要依靠密钥,这里的密钥是非对称密钥,如rsa。
-t:是type的缩写
-t是指定密钥的类型,密钥的类型有两种,一种是RSA,一种是DSARSA:RSA加密算法是一种非对称加密算法,是由三个麻省理工的牛人弄出来的,RSA是他们三个人姓的开头首字母组合。DSA:Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种。
为了让两个linux机器之间使用ssh不需要用户名和密码。所以采用了数字签名RSA或者DSA来完成这个操作。
ssh-keygen默认使用rsa密钥,可以不加-t rsa,如果你想生成dsa密钥,就需要加参数-t dsa。
b :是bit的缩写
-b 指定密钥长度。4096
对于RSA密钥,最小要求768位,默认是2048位。4096指的是RSA密钥长度为4096位。
DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
C: comment的缩写
-C表示提供一个注释,用于识别这个密钥。 可以省略.
“xxxxxxxxxxxxx”:用于识别这个密钥的注释内容,填什么都行,一般用邮箱