linux之ssh-keygen命令
为ssh⽣成、管理和转换认证密钥,ssh-keygen命令⽤于为“ssh”⽣成、管理和转换认证密钥,它⽀持RSA和DSA两种认证密钥。
SSH 密钥默认保留在~/.ssh⽬录中。如果没有~/.ssh⽬录,ssh-keygen命令会使⽤正确的权限创建⼀个。
命令语法
ssh-keygen [选项]
命令选项
-b:指定密钥长度;
-e:读取openssh的私钥或者公钥⽂件;
-C:添加注释;
-f:指定⽤来保存密钥的⽂件名;
-i:读取未加密的ssh-v2兼容的私钥/公钥⽂件,然后在标准输出设备上显⽰openssh兼容的私钥/公钥;
linux认证等级
-l:显⽰公钥⽂件的指纹数据;
-N:提供⼀个新密语;
-P:提供(旧)密语;
-q:静默模式;
-t:指定要创建的密钥类型。
基本⽰例
以下 ssh-keygen 命令默认在 ~/.ssh ⽬录中⽣成 4096 位 SSH RSA 公钥和私钥⽂件。如果当前位置存在 SSH 密钥对,这些⽂件将被覆盖。
> ssh-keygen -m PEM -t rsa -b 4096
使⽤ssh-kengen会在~/.ssh/⽬录下⽣成两个⽂件,不指定⽂件名和密钥类型的时候,默认⽣成的两个⽂件是
id_rsa第⼀个是私钥⽂件
id_rsa.pub第⼆个是公钥⽂件
指定秘钥⽂件路径
> ssh-keygen -t rsa -C 'rumenz@qq' -f ~/.ssh/github_id_rsa
或者,在指定存放⽂件时输⼊⼀个新的⽂件名
> Enter file in which to save the key(/Users/rumenz/.ssh/id_rsa):id_rsa_gitlab
多个SSH key的管理的情况就需要指定秘钥⽂件名。