AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 830219
Accepted
codepearlex
codepearlex
Asked: 2016-09-28 00:18:40 +0800 CST2016-09-28 00:18:40 +0800 CST 2016-09-28 00:18:40 +0800 CST

重新安装 openssh-server 会更改主机密钥吗?

  • 772

我最近注意到在我的运行 ubuntu 和 openssh-server 的服务器上发生了几次 ssh 暴力攻击。除了采取一些对策之外,我自然变得格外小心。今天早上我尝试 ssh 进入服务器时,收到了 dns 欺骗警告:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The ECDSA host key for somehost.com has changed,
and the key for the corresponding IP address xx.xx.xxx.xxx
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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.

IP地址很可能已更改,这不足为奇。但我最近没有更改 ubuntu 设置。但是,我通过执行重新安装了 openssh-server

sudo apt-get remove openssh-server

并重新安装它

sudo apt-get install openssh-server

这让我觉得主机密钥只取决于目录/etc/ssh/。就我而言,它看起来像这样:

drwxr-xr-x   2 root root   4096 Sep  3 19:12 .
drwxr-xr-x 160 root root  12288 Sep 27 08:41 ..
-rw-r--r--   1 root root 300261 Aug 11 18:24 moduli
-rw-r--r--   1 root root   1756 Aug 11 18:24 ssh_config
-rw-r--r--   1 root root   2542 Sep  3 19:09 sshd_config
-rw-------   1 root root    668 Apr 21 15:27 ssh_host_dsa_key
-rw-r--r--   1 root root    606 Apr 21 15:27 ssh_host_dsa_key.pub
-rw-------   1 root root    227 Apr 21 15:27 ssh_host_ecdsa_key
-rw-r--r--   1 root root    178 Apr 21 15:27 ssh_host_ecdsa_key.pub
-rw-------   1 root root    411 Apr 21 15:27 ssh_host_ed25519_key
-rw-r--r--   1 root root     98 Apr 21 15:27 ssh_host_ed25519_key.pub
-rw-------   1 root root   1675 Apr 21 15:27 ssh_host_rsa_key
-rw-r--r--   1 root root    398 Apr 21 15:27 ssh_host_rsa_key.pub
-rw-r--r--   1 root root    338 Sep  3 19:12 ssh_import_id

今天是 9 月 27 日,因此所有 ssh_host* 文件自 4 月以来都没有更改。我不确定用户公钥是否会影响主机密钥。所以为了确定,我检查了用户 ssh 目录 ~/.ssh/,它看起来像这样:

drwx------  2 user user 4096 Sep  5 18:41 .
drwxr-xr-x 49 user user 4096 Sep 27 08:43 ..
-rw-------  1 user user  748 Apr 21 19:20 authorized_keys
-rwx------  1 user user 3326 Jan 21  2016 id_rsa
-rw-rw-rw-  1 user user  748 Jan 21  2016 id_rsa.pub
-rw-r--r--  1 user user 2726 Mai  3 13:00 known_hosts

所以用户公钥也没有改变。

问题:还有什么会影响主机密钥或主机指纹的吗?有什么我没有考虑到的吗?重新安装 openssh-server 是否有可能更改了主机密钥?如果是,更新的文件在哪里?

[编辑] 同时,我通过执行检查了服务器本身的 ECDSA 指纹(有关详细信息,请参阅此内容)

$ nmap localhost --script ssh-hostkey

并且指纹与恶搞通知中显示的指纹匹配。因此,似乎不是服务器发生了变化,而是我用来连接服务器的机器上的 known_hosts 文件发生了变化。也许 Germar 是对的,并且 IP 地址与我之前连接的服务器匹配。我仍然不确定为什么我收到了欺骗通知。但是除非 nmap 命令也没有被欺骗(我认为不是),否则我应该有一个安全的连接。

ssh
  • 2 2 个回答
  • 8010 Views

2 个回答

  • Voted
  1. Best Answer
    Arronical
    2016-09-28T01:16:52+08:002016-09-28T01:16:52+08:00

    如果您已openssh-server使用apt-get purge openssh-server或清除,您的原始主机密钥将被删除apt-get remove --purge openssh-server。在这种情况下,密钥将被重新生成,并且自然会有所不同。如果openssh-server刚刚删除,则在重新安装时不应触及密钥文件。

    主机密钥确实只依赖于 中的文件/etc/ssh/,除非 ssh 被配置为在别处查找。HostKey中任何不寻常的线条都可以看出这一点/etc/ssh/sshd_config。默认的 HostKey 行是:

    # HostKeys for protocol version 2
    HostKey /etc/ssh/ssh_host_rsa_key
    HostKey /etc/ssh/ssh_host_dsa_key
    HostKey /etc/ssh/ssh_host_ecdsa_key
    HostKey /etc/ssh/ssh_host_ed25519_key
    

    绝对值得检查该文件以查看您是否使用来自非标准位置的主机密钥,因为您的密钥文件似乎没有被修改。

    如果服务器上的密钥符合预期,则很可能在客户端生成警告。正如 Germar 所说,这个问题可能是由于重新使用了之前被另一台服务器使用过的动态分配的 IP 地址造成的。

    • 5
  2. FredFoo
    2016-09-28T00:42:38+08:002016-09-28T00:42:38+08:00

    当您删除软件包并重新安装时,密钥保持不变。仅当您清除软件包时,它们才会被删除。并且仅当密钥文件不存在时才会创建。要全面了解正在发生的事情,您可以阅读以下文件:

    /var/lib/dpkg/info/openssh-server.postinst
    /var/lib/dpkg/info/openssh-server.postrm
    /var/lib/dpkg/info/openssh-server.preinst
    /var/lib/dpkg/info/openssh-server.prerm
    

    这些是 dpkg 在删除或安装 - 或重新配置 - 软件包时运行的脚本。

    • 1

相关问题

  • Gnome-terminal 快捷方式在选项卡中打开多个 ssh 连接

  • 通过 SSH 禁用密码访问?

  • ssh 如何使用多个私钥?

  • 如何通过一个 SSH 连接拥有多个终端会话?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve