【问题标题】:Password for a command run over SSH appearing in clear text通过 SSH 运行的命令的密码以明文形式显示
【发布时间】:2021-08-16 18:21:23
【问题描述】:

我有一台笔记本电脑,我通过它通过 SSH 连接到服务器。 在服务器上,我通常必须运行一个命令来验证我的身份并获取当前会话的一些凭据(让我们调用命令 foo-creds)

通常,如果我先执行 SSH

$ ssh my-remote-server

然后在我的 SSH 会话中运行:

$ foo-creds

它提示我输入密码,当我输入密码时它显示为空白(由于基于 *nix 的系统出于安全原因隐藏了密码)。

但是,当我直接从我的 mac 将命令作为 SSH 的一部分运行时:

$ ssh my-remote-server foo-creds

它提示我输入密码,但密码显示为纯文本(即在终端上可见)。

问题:如何使它工作,即使在我的笔记本电脑上作为 SSH 命令的一部分执行时,它也显示为隐藏?

【问题讨论】:

  • 是的,我也会尝试 Martheen 的建议:ssh -t remote-server foo-creds,但这可能取决于 foo-creds 的工作原理。
  • 感谢@Martheen 和@Ralf Ulrich。 -t 为我工作!

标签: unix ssh remote-access


【解决方案1】:

答案已存在于this SuperUser question

$ ssh -t remote_server foo-creds

简单的解释是,这会强制将 TTY 分配给支持密码隐藏的 ssh 会话。


感谢@Martheen 提供链接!

【讨论】:

    猜你喜欢
    • 2017-02-01
    • 1970-01-01
    • 2023-03-20
    • 2012-10-23
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    相关资源
    最近更新 更多