Linux ssh-keygen命令:创建SSH密钥。
Linux ssh-keygen命令 功能描述
使用ssh-keygen命令可以生成、管理和转换SSH认证密钥。使用SSH v1(SSH协议版本1)创建RSA密钥,使用SSH v2(SSH协议版本2)创建RSA或DSA密钥。使用-t选项指定生成密钥的类型。如果不带任何选项,使用ssh-keygen命令会生成用于SSH v2连接的RSA密钥。
Linux ssh-keygen命令 语法
ssh-keygen [选项]选项含义:
命令中各选项的含义如表所示。
| 选项 | 含义 |
|---|---|
| -N<新密语> | 提供新的密语 |
| -V | 详细模式 |
| -P<密语> | 提供旧密语 |
| -b<位数> | 指定创建密钥的位数。对于RSA密钥,最小尺寸为768位,默认值是2048位。DSA密钥必须刚好1024位 |
| -C<注释> | 提供新的注释 |
| -F <主机名> | 搜索在known hosts文件中指定的主机名,列出发现的任何事件 |
| -f<文件名> | 指定密钥文件的文件名。 |
| -t <类型> | 指定密钥创建的类型。SSH1可能的值为rsal,SSHv2可能的值是rsa或dsa |
| -r<主机名> | 显示指定主机公钥文件的SSHFP指纹资源记录 |
| -R<主机名> | 从known hosts文件中删除所有属于指定主机名的密。这个选项主要用于删除经过哈希的主机的密钥 |
| -e | 读取OpenSSH的私钥或公钥文件,并以RFC 4716 SSH公文件格式在标准输出上显示出来 |
| -p | 请求更改私钥文件的密码短语,而不是创建一个新的私钥 |
| -q | 安静模式 |
| -B | 显示指定的公钥和私钥文件的bubblebabble摘要 |
| -y | 读取OpenSSH专有格式的公钥文件,并将OpenSSH公钥显示在标准输出上 |
| -c | 请求改变私钥和公钥文件的注释。仅支持RSA1密钥操作 |
| -g | 在使用-r选项显示指纹资源记录的时候使用通用的DNS格式 |
| -i | 读取未加密的SSHv2兼容的私钥/公钥文件,然后在标准输出显示OpenSSH兼容的私钥/公钥 |
| -H | 对known hosts文件进行哈希计算。这将把文件中的所有主机名/IP地址替换为相应的哈希值。原来文件的内容将会添加一个“.old”后缀后保存。这些哈希值只能被ssh和sshd使用。这个选项不会修改已经经过哈希的主机名/IP地址,因此可以在部分公钥已经哈希过的文件上安全使用 |
| -l | 显示公钥文件的指纹数据。它也支持RSA1的私钥。对于RSA和DSA密钥,将会寻找对应的公钥文件,然后显示其指纹数据 |
Linux ssh-keygen命令 示例
显示主机rhel的公钥文件的SSHFP指纹资源记录
[root@rhel ~]# ssh-keygen -r rhel
rhel IN SSHFP 1 1 bdd55e705c1e38de7b4c7d570acbe9e8efde3d66
rhel IN SSHFP 2 1 bec42963f462f58ae0dc974e153f7d5dcf72e4cd创建ssh认证密钥,指定密钥文件为/root/.ssh/known_hosts
[root@rhel ~]# ssh-keygen -f /root/.ssh/known_hosts
Generating public/private rsa key pair.
Enter passphrase(empty for no passphrase): //输入密码
Enter same passphrase again: //再次输入密码
Your identification has been saved in /root/.ssh/known_hosts.
Your public key has been saved in /root/.ssh/known_hosts.pub.
The key fingerprint is:
05:28:4b:ce:58:9d:e8:1d:1b:9d:53:68:ac:d6:f7:95 root@rhel
The key's randomart image is:
+--[ RSA 2048]----+
| o=.+. |
| =*B. |
| B+B.. . |
| . ==... E |
| . S. . . |
| . |
| |
| |
| |
+-----------------+创建RSA密钥
[root@rhel ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key(/root/.ssh/id_rsa): //直接按回车键使用默认文件保存密钥
Created directory '/root/.ssh'.
Enter passphrase(empty for no passphrase): //输入密码
Enter same passphrase again: //再次输入密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ad:23:c6:c6:c0:54:63:00:be:d6:40:3f:1c:4f:c7:f4 root@rhel
The key's randomart image is:
+--[ RSA 2048]----+
| o.o.=oo |
|oo*o.. |
| o=. E |
| *. . |
| o+ S. |
|. + . |
| *o |
| o. . |
| |
+-----------------+

发表评论 取消回复