Jam*_*hon 23 linux security passwords password-generation
我正在寻找一种用于 Linux 的工具、命令行或 GUI,可以生成令人难忘的密码。
我正在寻找的等效密码是 Mac OS X 钥匙串可以生成的密码,例如apples12$/fourteen
. 一些强大但很容易被用户记住的东西。
Jam*_*hon 22
从那以后,我的大部分密码都使用XCKD 风格的密码短语。这是来自commandlinefu的 1行代码,用于生成密码:
shuf -n4 /usr/share/dict/words | tr -d '\n'
Run Code Online (Sandbox Code Playgroud)
Pyl*_*lsa 12
2020 年:我在 2011 年发布了这个答案。在过去的几年中,网络安全的面貌及其需求发生了迅速而巨大的变化。正如 anarcat 所指出的,pwgen 可能不适合(或不再适合)用于保护高安全性系统。他列出了描述如何pwgen的就可以了,在某些情况下,在使用密码导出的不安全的方法,从可用熵技术细节他的文章。虽然我不再相信生成密码然后自己尝试记住它们,但我没有验证的技术能力,更不用说保证引用的文章内容,所以请阅读并得出自己的结论。话虽如此,我相信 pwgen 足以满足不太可能受到攻击的低安全系统。
您可能想查看该pwgen
应用程序。我知道它可以在 Ubuntu、Fedora、Debian 和 Suse 存储库中使用。
从手册页:
pwgen 程序生成的密码旨在让人类轻松记忆,同时尽可能安全。人类可记忆的密码永远不会像完全随机的密码那样安全。特别是,pwgen 生成的没有 -s 选项的密码不应该用于密码可能被离线暴力攻击攻击的地方。另一方面,完全随机生成的密码有被写下来的倾向,并且容易以这种方式受到损害。
pwgen 程序旨在以交互方式和在 shell 脚本中使用。因此,它的默认行为取决于标准输出是 tty 设备还是另一个程序的管道。以交互方式使用,pwgen 将显示一整屏密码,允许用户选择一个密码,然后快速擦除屏幕。这可以防止某人能够“肩冲浪”用户选择的密码。
ana*_*cat 11
我建议人们停止使用 pwgen - 它的主要兴趣是生成“人类可记忆的密码”,但它在这样做时显示出多个漏洞。使用它来生成完全随机的字符串也没有那么有用。
我写了一篇关于这个主题的详细文章,但基本上,它的要点是使用骰子程序(或者,如果你喜欢骰子,实际的骰子系统)或xkcdpass。为了生成容易记住的强密码,我通常使用带有以下配置文件的骰子:
[diceware]
caps = off
delimiter = "-"
wordlist = en_eff
Run Code Online (Sandbox Code Playgroud)
例子:
$ diceware
turkey-eligibly-underwire-recite-lifter-wasp
$ diceware
lend-rubdown-cornflake-tint-shawl-ozone
$ diceware
syndrome-ramp-cresting-resolved-flinch-veneering
$ diceware
alto-badass-eclipse-surplus-rudder-quit
Run Code Online (Sandbox Code Playgroud)
我关闭了大写和空格,因为它们会产生明显的声音,攻击者可以利用这些噪音。该-
分隔符是不幸中之大幸:这将是最好不要使用任何分隔符和en_eff
单词表特别制作的用于这一目的。但是我发现当他们有一些分隔符时,交流和共享密码更容易。
要生成完全随机的密码,我使用以下 shell 函数:
# secure password generator or, as dkg puts it:
# high-entropy compact printable/transferable string generator
# a password generator would be pwqgen or diceware
pwg() {
ENTROPY=${1:-20} # in bytes
# strip possible newlines if output is wrapped and trailing = signs as they add nothing to the password's entropy
head -c $ENTROPY /dev/random | base64 | tr -d '\n='
echo
}
Run Code Online (Sandbox Code Playgroud)
我提到这一点是因为我相信记住更少的密码很重要,而是依靠密码管理器来存储难以猜测的大字符串。在上述文章和我的密码管理员评论中解释了有关这些选择背后的基本原理的更多详细信息。