如何Ubuntu/Debian Linux重新生成OpenSSH主机密钥

时间:2020-01-09 10:40:37  来源:igfitidea点击:

如何重新生成存储在/etc/ssh/ssh_host_*文件中的OpenSSH sshd服务器主机密钥?

我可以使用远程ssh会话安全地重新生成ssh主机密钥,因为我现有的ssh连接不应该在Debian或Ubuntu Linux上中断吗?如何重新生成新的ssh服务器密钥?如何在Debian或Ubuntu Linux上重新生成新的主机密钥? 要重新生成密钥,您需要删除旧文件并重新配置openssh-server。
在基于远程ssh的会话上运行以下命令也是安全的。
您的"现有会话不应中断"。

如何重新生成新的SSH服务器密钥

为什么要重新生成新的ssh服务器密钥?

在安装OpenSSH服务器软件包期间,大多数Linux和Unix发行版都会为您创建ssh密钥。
但是能够不时重新生成新的服务器密钥可能会很有用。
例如,当您复制包含已安装的ssh软件包的VM(KVM或容器)时,需要使用克隆的KVM VM guest虚拟机/计算机上的其他密钥。

在Linux上重新生成OpenSSH主机密钥的步骤

让我们看看所有步骤

步骤1删除旧的SSH主机密钥

以root用户身份登录,然后执行以下命令以删除SSHD服务器上的文件:

# /bin/rm -v /etc/ssh/ssh_host_*

输出示例:

removed '/etc/ssh/ssh_host_dsa_key'
removed '/etc/ssh/ssh_host_dsa_key.pub'
removed '/etc/ssh/ssh_host_ecdsa_key'
removed '/etc/ssh/ssh_host_ecdsa_key.pub'
removed '/etc/ssh/ssh_host_ed25519_key'
removed '/etc/ssh/ssh_host_ed25519_key.pub'
removed '/etc/ssh/ssh_host_rsa_key'
removed '/etc/ssh/ssh_host_rsa_key.pub'

步骤2 Debian或Ubuntu Linux重新生成OpenSSH主机密钥

现在,在SSHD服务器上创建一组新的密钥,执行:

# dpkg-reconfigure openssh-server

输出示例:

Creating SSH2 RSA key; this may take some time ...
2048 SHA256:BLUkgjGdbcFX9wCsfOoIG4gtkdSeex4K/xcnsRo0qEA root@ubuntu-box1-clone (RSA)
Creating SSH2 DSA key; this may take some time ...
1024 SHA256:Ug9fJa14YMR9Fud/7bXTokffK/hM/sBVse10nSR/6Y8 root@ubuntu-box1-clone (DSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:Rh6izWEXkCV6HZLIpzlGQje178vhDgb77ItaZgpDsIQ root@ubuntu-box1-clone (ECDSA)
Creating SSH2 ED25519 key; this may take some time ...
256 SHA256:UD4b7njwxWp1Q3wYf2R//udgPRzfGaeZ/6kE3VgZM+s root@ubuntu-box1-clone (ED25519)

您只是重新生成了新的ssh服务器密钥。
您需要重新启动ssh服务器:

$ sudo systemctl restart ssh

或者

$ /etc/init.d/ssh restart

步骤3更新所有ssh客户端known_hosts文件

最后,您需要更新客户端计算机上的~/.ssh/known_hosts文件,否则每个人都会看到一条错误消息,内容如下:

<<<<<<<<<<<<<<<<<<<@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
<<<<<<<<<<<<<<<<<<<@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
f6:67:01:41:e6:20:06:4b:4b:fa:4b:c1:f1:45:45:e0.
Please contact your system administrator.
Add correct host key in /home/Hyman/.ssh/known_hosts to get rid of this message.
Offending key in /home/Hyman/.ssh/known_hosts:12
RSA host key for 192.54.xx.abc has changed and you have requested strict checking.
Host key verification failed.

删除主机指纹或使用vi文本编辑器更新文件(必须在客户端计算机上执行命令):

$ ssh-keygen -R remote-server-name-here

现在使用ssh命令登录:

$ ssh [email protected]