SSHD 密码反馈(显示星号字符)

SSHD 密码反馈(显示星号字符)

是否可以让 SSHD 在密码字符中显示星号,就像pwfeedbacksudo 那样?我使用的是 CentOS 6.5。

例如:如果我在这里输入一些内容,则显示 *****

答案1

您可以通过环境变量覆盖用于询问密码/密码短语的工具$SSH_ASKPASS

$ echo $SSH_ASKPASS
/usr/libexec/openssh/gnome-ssh-askpass

摘录-密码读取和处理

密码读取程序。

为什么要重新发明轮子。已经编写了许多程序来从用户那里获取密码,然后将结果通过管道传输到标准输出,准备好输入需要它的程序,或者缓冲在变量中。

例子包括...

  /usr/libexec/openssh/x11-ssh-askpass
  /usr/libexec/openssh/ssh-askpass
  /usr/bin/ssh-askpass
  /usr/libexec/openssh/gnome-ssh-askpass
  /usr/lib/openssh/gnome-ssh-askpass
  zenity --title=Program --entry --text=Password: --hide-text
  Xdialog --title Program --stdout --password --inputbox "Password:" 0x0
  { echo "SETDESC password:"; echo "GETPIN"; } | pinentry | sed -n 's/^D //p'

可能还有很多其他脚本基本上完全按照上面的脚本尝试执行的操作。我经常编写加密和安装脚本,用于搜索以查找至少其中一个用于用户密码输入的程序。

参考

答案2

从我的文档中复制并粘贴得很好——很高兴知道它有一些用处:-)

我对几乎所有密码输入程序(例如我列出的和由 slm 发布的程序)都有问题。它们通常是为要使用的特定程序(通常是 SSH)而设计的,并且很少或没有选项。是的,我知道这就是原发帖者想要的。

但在很多情况下,您希望程序读取密码用于其他目的(加密、安装、限制访问),到目前为止,我查看过的每个程序都存在重新利用的问题。

例如:

无选项:(几乎所有 ssh-askpass 程序 - 除 x11-ssh-askpass)

无法控制窗口标题(pinentry、x11-ssh-askpass)

或者只是看起来笨重而可怕(Xdialog)

缺乏对键盘焦点或键盘抓取的控制(它们是不同的!)

此外,在加密文件时,您实际上希望用户输入密码两次(以确保其正确),并比较它们(通过askpass 程序或留给调用者)。目前没有X窗口程序似乎允许这种类型的双重密码输入。 :-(

我当前的选择是“zenity”和“x11-ssh-askpass”,但就目前情况而言,上述大多数程序确实可以使用更多更好的选项!

相关内容