如何将复杂密码粘贴到 windows 命令行 (shell)?

How to paste complex passwords into windows command line (shell)?

我使用 KeePass 管理我的网站帐户。此工具会生成高度复杂的密码,例如 d,ªL¹(ç,z/¬gSÑ~}ÄwÚÆ¡íµ¯ó]ó6õ?Ô£fß,。 我在 Red Hat 的 OpenShift 网站上使用了如此复杂的密码。

OpenShift servers/applications 可以使用他们的 rhc 命令行工具进行最佳管理。

现在,运行 rhc setup 我必须输入我的密码。所以我将它复制到剪贴板并将其粘贴到 shell,rhc 在那里等待我的 PW。但是,密码不会被接受。

粘贴的过程可能会引起一些变化。我已经尝试在 运行 rhc setup 之前执行 chcp 1252chcp 65001。不幸的是,这也没有帮助。获得它的唯一方法 运行 是在 OpenShift 网站上将我的密码更改为普通密码,然后进行设置,然后再将密码更改回复杂密码。

无论如何,现在我想通过 rhc ssh 登录我的应用程序,它要求我的 ssh 密钥的密码。正如每个人都可以猜到的那样,我的 ssh 密钥受上述样式的密码保护。这没问题,因为将此类密码粘贴到 Putty 或其他 GUI 应用程序中效果很好。

所以我想知道:有什么方法可以安全地粘贴到 windows shell 中吗?

我赞扬你的密码!

主要有两种可能:

  • 部分字符需要转义
    • 改用没有转义字符的更长密码
    • 转义字符!
  • 代码页有趣,即一些字符正在被转换
    • 找出映射并将您的 KeePass 条目复制到将映射到该登录类型的正确值的条目
    • 改用没有转义字符的更长密码

假设您的密码(不太可能)是一个使用所有 256 个可能的 8 位值的 35 个字符的密码,那么最大的详尽密钥空间为 256^35,大约为 2E84 或 2^280。您可以使用包含大写、小写、数字和普通美国键盘符号 (94^43) 的 43 个字符的密码或包含大写、小写和数字 (62^48) 的 48 个字符的密码来实现稍高的最大详尽键空间。

长度为 48 的 Upper、Lower、Number 密码不会导致任何转义字符问题,并且不太可能导致代码页转换问题。

请注意,对于知道实际使用了哪些字符的攻击者来说,这两种情况都可能更胜一筹:)。

另请注意,即使仅包含 Upper、Lower 和 Number 的 35 个字符密码也具有 62^35、5.4E62 或 2^208 的最大详尽密钥空间; 208 位可能大大超过传输层 and/or 其存储机制提供的安全性。

*此数学中的所有密码均假定为 100% 密码随机!