openssh生成ed25519的密钥对并实现服务器间免密钥登录

avatar
作者
筋斗云
阅读量:7

本文讲解如何用openssh生成ed25519的密钥对并实现服务器间免密钥登录。

注意:所有操作均在客户机侧

一、生成 ED25519 密钥

用需要免密登录的用户(本例为username) 运行“ssh-keygen -t ed25519 -b 256”

[username@localhost ~]$ ssh-keygen -t ed25519 -b 256 Generating public/private ed25519 key pair. Enter file in which to save the key (/home/username/.ssh/id_ed25519):  Enter passphrase (empty for no passphrase):  Enter same passphrase again:  Your identification has been saved in /home/username/.ssh/id_ed25519 Your public key has been saved in /home/username/.ssh/id_ed25519.pub The key fingerprint is: SHA256:TxLFDN0ERV3qM7d0OfTXCylXHrXQilvZTymabIcYhTE username@localhost.localdomain The key's randomart image is: +--[ED25519 256]--+ |        .E=*+o..o| |         o=.. ooo| |        . . . ==.| |         o . *=o*| |        S =.*+=*B| |         = Bo.o+B| |          o .  o | |                 | |                 | +----[SHA256]-----+ [username@localhost ~]$

一路回车,即可看到在当前用户家目录下生成了.ssh/id_ed25519的私钥和.ssh/id_ed25519.pub公钥文件

二、将公钥文件传给远端服务器对应帐号

使用 ssh-copy-id 命令来完成

[username@localhost ~]$ ssh-copy-id -i ~/.ssh/id_ed25519 -p4422 username@192.168.1.76 /bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/username/.ssh/id_ed25519.pub" /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys (username@192.168.1.76) Password:   Number of key(s) added: 1  Now try logging into the machine, with:   "ssh -p 4422 'username@192.168.1.76'" and check to make sure that only the key(s) you wanted were added.  [username@localhost ~]$ 

三、测试验证

[username@localhost ~]$ ssh -p4422 username@192.168.1.75 Last login: Tue May 28 17:22:38 2024 Authorized users only. All activities may be monitored and reported. [username@localhost ~]$

可以看到,现在已经不需要密码即可以登录了。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!