linux生成密钥

geteshi
2024-03-28 / 0 评论 / 23 阅读 / 正在检测是否收录...

一、首先需要在自己的本地生成ssh-key密钥

1.1生成通过命令生成秘钥,创建文件

具体参数看附录

  • win+r(windows下)输入cmd,调出终端。
  • 执行命令:
ssh-keygen -t ed25519 -C "我自己的密钥" -b 4096 -f H:\密钥文件\总的.pem

image-20240328115716824

Generating public/private rsa key pair.

//======> 存储路径  直接回车 使用默认路径,-f设置过就不会有这步
Enter file in which to save the key (/Users/bigmaning/.ssh/id_rsa):

//======> 设置密码  直接回车 默认不设置密码
Enter passphrase (empty for no passphrase):

//======> 确认密码  操作同上(直接回车 默认不设置密码)
Enter same passphrase again:

//======>  生成的密钥对的位置
Your identification has been saved in /Users/bigmaning/.ssh/id_rsa.
Your public key has been saved in /Users/bigmaning/.ssh/id_rsa.pub.

1.2命令之后,查看在本地生成的文件

image-20240328115852619

二、将用户下的.ssh目录中的总的.pem.pub公钥文件上传到服务器,或者也可打开此文件,直接复制内容到服务器上。

2.1服务器中执行命令创建秘钥:

执行命令如下:

ssh-keygen -t ed25519 -C "我自己的密钥" -b 4096 -f /root/.ssh/总的.pem 
 
#/root/.ssh/总的.pem   表示存放生成文件的存放路径,可自定义路径
#/总的.pem     文件名称可以自定义  但必须以 .pem  结尾

2.2 上传本地1.2生成的密钥文件到/root/.ssh里面

2.3需将当前上传公钥中的值加入到授权列表(authorized_keys)中

2.3.1如果没有authorized_keys这个文件就创建,命令:

touch authorized_keys

2.3.2 将总的.pem.pub文件中的内容添加到 新创建的 authorized_keys 文件中

cat 总的.pem.pub>>authorized_keys 

2.3.3 查看是否添加成功

cat authorized_keys

authorized_keys 中保存的可以有N个,数据来源于不同用户在本地生成的xxx.pem.pub 中的key,同时,也可以将服务器中的生成的xxx.pem.pub的key放到另外一个服务器中的authorized_keys中 这样就可以实现linux服务互相连接了

附录:ssh-keygen命令参数

ssh-keygen [选项]

-b:指定密钥长度;

-e:读取openssh的私钥或者公钥文件;

-C添加注释; (一般设置为自己的邮箱)

-f:指定用来保存密钥的文件名;

-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;

-l:显示公钥文件的指纹数据;

-N:提供一个新密语;

-P:提供(旧)密语;

-q:静默模式;

-t指定要创建的密钥类型。 (常用参数)

0

评论 (0)

取消