【问题标题】:Is ssh pass secure?ssh pass 安全吗?
【发布时间】:2018-04-19 07:08:20
【问题描述】:

我正在编写一个脚本来自动跨多个 Linux 系统运行特定命令。我将使用类似的东西:

read -s "Enter password" ANS
sshpass -p $ANS ssh server "some command"

这会有安全问题吗?

【问题讨论】:

  • 密码将显示在ps 输出中。
  • 别忘了引用变量:-p "$ANS".
  • SO 是针对编程问题,而不是关于使用或配置 Linux 及其应用程序的问题。 SuperUser.com 或 unix.stackexchange.com 会更好地解决此类问题。
  • read -s "Enter password" SSHPASS; export SSHPASS; sshpass -e ssh server "some command"; unset SSHPASS?
  • ssh 自己完全能够这样做并且比您的脚本更安全时,为什么还要让您的脚本提示输入密码?

标签: linux bash ssh sshpass


【解决方案1】:

您的密码和任何其他命令行参数都将对系统上使用 ps 命令的任何其他人可见。更好的选择是使用基于 SSH 密钥的登录? Official Doc

【讨论】:

  • 这应该是评论,它没有回答问题。
  • 这是 ps 命令中的输出“sshpass -p zzzzzzzzzzzz ssh -oConnectTimeout=7 ...”所以看起来密码没有显示
【解决方案2】:

sshpass man page 有一整节介绍了安全隐患。

鼓励 sshpass 的用户使用其他密码之一 传球技术,都更安全。

尤其是人们编写旨在交流的程序 鼓励以编程方式使用匿名管道密码 并使用 -d 选项将管道的读取端传递给 sshpass。

因此,如果您必须传递密码,他们鼓励使用匿名管道。您也可以将密码保存到文件中,并改用-f 标志。

如果您对安全性感兴趣,基于密钥的身份验证是最佳选择。有时这是不合理的,因为您的目标缺乏额外的非易失性内存来存储公钥,但您应该尽可能尝试设置基于密钥的身份验证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多