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
    • 最新
    • 标签
主页 / server / 问题 / 574586
Accepted
joshua.paling
joshua.paling
Asked: 2014-02-11 17:05:12 +0800 CST2014-02-11 17:05:12 +0800 CST 2014-02-11 17:05:12 +0800 CST

openssl passwd的目的是什么

  • 772

我正在阅读“可靠地部署 Rails 应用程序”

关于定义由 Chef 设置的用户,它说:

“接下来我们需要定义用户,在data_bags/users里面将deploy.json.example文件复制到deploy.json。

使用以下命令为您的部署用户生成密码:

openssl passwd -1 "plaintextpassword"

并相应地更新 deploy.json。”

我的问题是,目的是openssl passwd什么?只是为了生成一个强密码吗?如果我输入随机字符会不会一样好?

然后,我的“实际”密码是什么?纯文本版本,还是加密版本?我需要将两者的副本保存到我的密码管理器吗?

更新:

是的,我已经阅读了手册。是的,我知道它会生成我密码的 md5 加密版本。我的问题更多是关于你为什么要使用它,而不是使用你自己组成的非常安全的随机字符串(或使用密码生成器生成)。

我能想到的一个好处是您可以键入一个可记住的密码,并在openssl passwd -1 "plaintextpassword"每次需要输入时运行它。因此,就易于记忆的密码和安全的随机密码而言,您将拥有两全其美的优势。并且每次需要时通过“openssl passwd -1”运行可记忆/纯文本版本,这样您就不必存储密码的加密版本并在每次需要输入密码时输入/粘贴。

这是唯一的好处吗?如果不是,其他是什么?

password
  • 2 2 个回答
  • 20998 Views

2 个回答

  • Voted
  1. Shane Madden
    2014-02-11T17:24:34+08:002014-02-11T17:24:34+08:00

    该命令的目的是通过单向散列算法(-1输出 MD5)提供您的密码。得到的是一个字符串,它以密码方式从您的密码中派生出来,但如果攻击者掌握了散列版本,则不能使用它自己找到您的密码(理论上 - 包含一个盐有助于防止彩虹表,但是攻击者仍然可以有效地暴力破解它)。

    通过散列函数运行您的密码将始终产生相同的散列,然后服务器可以将其与存储的散列进行比较,以验证您具有与通过openssl命令运行的相同的密码。

    • 9
  2. Best Answer
    joshua.paling
    2014-02-11T19:10:20+08:002014-02-11T19:10:20+08:00

    在#chef IRC 频道上聊天后,这就是我最终需要知道的。其中大部分实际上是外围信息,而不是openssl passwd具体信息,但无论如何......

    Chef 使用标准adduser命令 ( http://linux.die.net/man/8/adduser ) 来添加用户。该命令接受已加密的密码- 因此您需要openssl passwd -1 "plaintextpassword"在data_bags/users/deploy.json.

    因此,您的纯文本密码是“真实”密码。但是因为该adduser命令要求您传递的密码已经加密,所以您需要存储的密码是加密版本data_bags/users/deploy.json

    这很好用,因为您绝对不想将纯文本密码存储在data_bags/users/deploy.json!

    回到我最初的问题:

    我的“实际”密码是什么?纯文本版本,还是加密版本?
    纯文本版本是您的真实版本。

    我需要将两者的副本保存到我的密码管理器吗? 不,您只存储纯文本版本。每当您想登录时,您都可以使用它。然后系统会对其进行加密,并将其与为您的帐户存储的加密版本进行比较。

    openssl passwd 的好处/目的是什么?

    没有这样的“好处”。它只是必需的,因为该adduser命令将期望它提供的密码已经加密。


    说了这么多,显然最好不要在 中输入密码data_bags/users/deploy.json,只允许通过 SSH 密钥访问。

    甚至存储密码的加密版本也不是一个好习惯,data_bags/users/deploy.json因为 Linux 密码加密的记录如此糟糕。(编辑:阅读下面的评论以获得更好的解释)

    • 5

相关问题

  • 如何仅针对特定 OU 中的用户撤销更改密码权限?

  • AIX:如何在不设置 ADMCHG 标志的情况下以 root 身份更改密码?

  • 将活动目录中的密码历史记录重置为特定日期

  • 允许用户更改其 Active Directory 密码的 Web 界面

  • 通过 VPN 更改 Active Directory 密码

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve