Linux ssh-keygen命令用于创建生成、管理和转换SSH认证密钥等用途,现在说下SSH的ssh-keygen命令语法及使用详解:

ssh-keygen命令语法详解

Linux系统下ssh-keygen命令可用于生成、管理和转换SSH认证密钥。使用SSH v1(SSH协议版本1)创建RSA密钥,使用SSH v2(SSH协议版本2)创建RSA密钥。使用-t选项指定生成密钥的类型。如果不带任何选项,使用ssh-keygen命令会生成用于SSH v2连接的RSA密钥。

命令语法:ssh-keygen [选项]

不同选项含义对照表如下:

选项含义
-N<新密语>提供新的密语
-v详细模式
-P<密语>提供旧密语
-b<位数>指定创建密钥的位数。对于RSA密钥,最小尺寸为768位。DSA密钥必须刚好1024位
-C<注释>提供新的注释
-F<主机名>搜索known_hosts文件中指定的主机名,列出发现的任何事件
-f<文件名>指定密钥文件的文件名
-t<类型>指定密钥创建的类型。SSH v1可能的值为rsa1,SSH v2可能的值为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读取未加密的SSH v2兼容的私钥/公钥文件,然后在标准输出显示OpenSSH兼容的私钥/公钥
-H对known_hosts文件进行哈希计算。这将把文件中的所有主机名/IP地址替换为相应的哈希值。原来文件的内容将会添加一个“.old”后缀后保存。这些哈希值只能被ssh和sshd使用。这个选项不会修改已经经过哈希的主机名/IP地址,因此可以在部分公钥已经哈希过的文件上安全使用
-l显示公钥文件的指纹数据。它也支持RSA1的私钥。对于RSA和DSA密钥,将会寻找对应的公钥文件,然后显示其指纹数据

常见的ssh-keygen命令使用举例:

创建ssh认证密钥,指定密钥文件为:/root/.ssh/known_hosts

[root@linuxbaike~]# ssh-keygen -f /root/.ssh/known_hosts

创建RSA密钥

[root@linuxbaike~]# ssh-keygen

使用-t参数创建一个指定密钥的类型并添加注释

[root@linuxbaike~]# ssh-keygen -t rsa -C “name@linuxbaike.com”

显示主机rhel的公钥文件的SSHFP指纹资源记录

[root@linuxbaike~]# ssh-keygen -r rhel

使用-e参数读取openssh的私钥或者公钥文件

[root@linuxbaike~]# ssh-keygen -e

◉分享到⮟

作者 Elvis

5 1 投票
Article Rating
订阅评论
提醒
guest
0 Comments
内联反馈
查看所有评论
www.zwina.co 关注微信
15088060013
7*24小时客服电话
0
希望看到您的想法,请发表评论。x
()
x