小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
Linux ssh-keygen命令用于生成、管理和转换ssh认证密钥,它支持RSA和DSA两种认证密钥。
SSH 密钥默认保留在 ~/.ssh 目录中。 如果没有 ~/.ssh 目录,ssh-keygen命令会使用正确的权限创建一个。
ssh-keygen命令语法详解
语法格式
ssh-keygen [参数]
常用参数及其函数如下:
| 选项 | 含义 |
|---|---|
| -b <位数> | 指定创建密钥的位数(长度) |
| -e | 读取OpenSSH的私钥或公钥文件,并以RFC 4716 SSH公钥文件格式在标准输出上显示出来 |
| -f <文件名> | 指定用来保存密钥的文件名 |
| -N <新密语> | 提供一个新密语 |
| -P <密语> | 提供(旧)密语 |
| -C <注释> | 添加注释 |
| -F<主机名> | 搜索known_hosts文件中指定的主机名,列出发现的任何事件 |
| -i | 读取未加密的SSH-v2兼容的私钥/公钥文件,然后在标准输出显示OpenSSH兼容的私钥/公钥 |
| -l | 显示公钥文件的指纹数据 |
| -t<类型> | 指定密钥创建的类型,SSH-v1可选的值为rsa1,SSH-v2可选的值为rsa或dsa |
| -r<主机名> | 显示指定主机公钥文件的SSHFP指纹资源记录 |
| -q | 静默模式 |
| -v | 详细模式,将会输出处理过程的详细调试信息,常用于调试模数的产生过程。 |
实战
使用ssh-kengen会在~/.ssh/目录下生成两个文件,不指定文件名和密钥类型的时候,默认生成的两个文件是:
id_rsa:私钥文件id_rsa.pub:公钥文件
创建RSA密钥:
ssh-keygen
创建DSA密钥:
ssh-keygen -t dsa
创建ssh认证密钥,指定密钥文件为:/root/.ssh/test_rsa
ssh-keygen -f /root/.ssh/test_rsa
创建密钥并添加注释:
ssh-keygen -C "tigeriaf"
原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~
最后,感谢女朋友在工作和生活中的包容、理解与支持 !