重新生成SSH服务器端密钥方法

重新生成SSH服务器端密钥方法

理论上来说,每次安装服务器时SSH密钥(SSH Host Key)都是自动生成的,而生成出相同密钥的概率接近于0,这样避免了中间攻击等情况。但是,就是存在以下情况使得两台SSH密钥相同:

  • 在虚拟化技术中克隆了一台虚拟机;
  • 将原来的虚拟硬盘复制后新建虚拟机运行。

当然还有其他更加坑爹的情况,比如Kaijia碰到的VPS云服务器重装系统复制完模板数据后不重新生成SSH密钥的(某国内主流云提供商……),于是整个云平台所有的VPS都跑着相同的SSH密钥,如果要实现中间攻击只需要新建一台云就能获得私钥了。正是因为碰到了这种云主机,Kaijia研究了一下如何重新生成SSH服务器端密钥。

重设SSH密钥方法比较简单,首先第一步是要删除现有的密钥,在/etc/ssh/目录中存放了所有以ssh_host_开头的私钥和公钥文件,运行以下命令删除这些密钥:

rm /etc/ssh/ssh_host_*

接下来便是重新生成密钥,在Debian/Ubuntu系统中,可以使用dpkg命令重新配置SSH服务器包实现密钥的生成:

dpkg-reconfigure openssh-server

生成之后需要重启SSH服务使新的密钥生效:

service ssh restart

而在CentOS系统中,这个操作则变得更加简单,只需要重启SSH服务,SSH服务便会在启动载入密钥时自动生成新的密钥:

service sshd restart

在重启系统等情况下,只要发现密钥不存在,CentOS系统都可以自动生成密钥。

另外,值得提醒的是,更新后的SSH公钥和你的电脑中记录的公钥不同,因此在下一次登录SSH时,肯定会收到一下警告:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 a host key has just been changed. The fingerprint for
the ECDSA key sent by the remote host is
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00. Please contact your
system administrator. Add correct host key in
/home/kaijia/.ssh/known_hosts to get rid of this message. Offending
ECDSA key in /home/kaijia/.ssh/known_hosts:0 remove with: ssh-keygen
-f “/home/fkj/.ssh/known_hosts” -R [kaijia.me] ECDSA host key for [kaijia.me] has changed and you have requested strict checking. Host
key verification failed.

此时,只需要按照提示执行其中的ssh-keygen命令即可取消对原先密钥的信任,然后再次连接SSH便会提示有新密钥了。当然,虽然不推荐,简单粗暴地直接删除known_hosts文件:

rm ~/.ssh/known_hosts

也是可以的。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值