【问题标题】:Does an SSH Server ever receive the user's password in plaintext?SSH 服务器是否曾经以明文形式接收用户密码?
【发布时间】:2015-02-17 08:02:39
【问题描述】:

我只是想知道 SSH 服务器是否会在身份验证过程中的某个时刻获得纯密码。我知道密码是加密发送的,但它必须以某种方式进行验证,因此必须由服务器解密。 SSH 客户端是否只发送其密码的哈希值或如何维护安全性?

【问题讨论】:

  • 为什么在这里发送密码是一个安全问题?当然,在 ssh 中使用密钥比使用密码更有意义。但是如果您使用密码而不是必须将其发送到服务器。散列不能在客户端完成,因为客户端不知道所使用的身份验证后端。
  • 这是一个安全问题,因为我的密码可能被服务器嗅探。
  • 如前所述:没有办法绕过它。如果这让您感到困扰,请使用 ssh 密钥(您必须首先设置密码,所以将其提供给服务器,不是吗?)。使用密钥应该可以解决您的问题,因为那时密码和密钥都不会通过网络发送。而是使用质询响应身份验证策略。大多数 ssh 服务器甚至不再允许基于密码的身份验证,但出于其他原因。

标签: ssh sshd


【解决方案1】:

密码通过加密通道发送到服务器——因此它不能被“在线”嗅探——但sshd 需要明文密码以验证它是否与本地存储的密码哈希匹配.

因此,当系统受到威胁时,首先发生的事情之一就是有人替换了 sshd,以便它可以收集密码并将其发送到其他地方。

您可以通过使用 ssh 密钥在很大程度上避免此问题,该密钥使用公共/私有加密并且不涉及将您的“秘密”暴露给服务器,或者通过使用多因素身份验证,从而减少了影响密码泄露(因为没有第二个因素,密码本身就没有用处)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 2018-03-25
    • 2023-01-31
    • 2010-09-13
    • 2013-04-13
    • 1970-01-01
    • 2020-09-09
    相关资源
    最近更新 更多