关于一些云服务商批量生成的系统镜像模板里面ssh密钥相同的问题

其实这些问题之前就和hev探讨过 具体见这里 https://hev.cc/2030.html

服务器端证书的用途是加密传输数据,当客户端连接服务器端时,服务器端会选择一种加密协议,如 rsa ,并将服务器端的 RSA 公钥(/etc/ssh/ssh_host_rsa_key.pub)发送给客户端,客户端使用这个公钥将要发送给服务器端的数据(例如认证密码)加密,再通过网络传输给服务器端。服务器端再使用服务器端 RSA 密钥解开被加密的数据,得到明文。只有拥有这个 RSA 密钥的用户可以解开这个加密数据。

客户端证书的用途是鉴定用户身份。

现在的问题是 VPS 服务商的系统都是预安装了 openssh 服务器程序的,而服务器端证书是一般是安装包里的脚本在安装时生成的。换句话说就是相同类型的VPS用户的系统 OpenSSH 的服务器端证书都一样!每个VPS用户都有能力拿到密钥!

解决方法也很简单,对于CENTOS来说 只要删除ssh的host key,那么重新启动ssh服务的时候,centos的SystemV脚本会重新生成一个新的,对Debian系统来说,则必须重新调用dpkg配置一下 见我的评论 https://hev.cc/2030.html#comment-447806

当初评论的时候也很早了,现在的系统都换成了systemd了,那么可以在systemd的预启动的时候检查一下key 然后调用一下dpkg配置一下即可实现和相同的功能

云服务商里面,DigtalOcean对此已有预警,赞一个。

写入

或者放到开机部署脚本里面也可以 确保系统部署之前删掉那些key就看可以了

Author Info :
  • From:关于一些云服务商批量生成的系统镜像模板里面ssh密钥相同的问题
  • URL:https://blog.ihipop.com/2017/02/4932.html
  • Please Reserve This Link,Thanks!
  • 发表回复

    您的电子邮箱地址不会被公开。 必填项已用*标注