gpt4 book ai didi

unix - 将密码传递给 Unix 脚本中的 ssh 提示

转载 作者:行者123 更新时间:2023-12-04 05:07:18 24 4
gpt4 key购买 nike

我正在编写一个脚本来获取密码和 SSH。注意:我不会详细介绍,但安全/加密在这里不是问题——我想要的是硬编码密码。但是,我无法通过管道输入它,以便 Unix 脚本用它回答“密码:”提示。我试着用管道输入它,它仍然要求我提供提示。

我在这里看到了使用expect的答案......我不是一个shell脚本专家,当我尝试它时,我得到了错误 spawn: command not found、interact: command not found 和 send: command not found。我试过谷歌搜索某种期望下载并没有发现任何东西......我错过了什么?此脚本应分发给可能安装或未安装外部脚本的人。

我的非工作代码:

#!/bin/bash"
STR="MYPASS"
echo $STR | ssh -t -t user@host

最佳答案

根据您阅读的答案,您需要使用 expect如果您想与 ssh 的密码提示进行交互。那是因为 SSH 不会从 stdin(您正在传输密码的地方)读取密码,而是从 tty 读取密码。

如果您收到 spawn: command not foundinteract: command not found从您的期望脚本中,这是您将期望代码写入实际上是 shell 脚本的线索。确保 shebang line在您的期望脚本中实际包含 #!/path/to/expect而不是 #!/bin/sh .

在任何情况下,一个更好的主意是将 SSH 与公钥身份验证一起使用。没有密码短语的私钥很容易编写脚本,它的安全性不亚于将密码硬编码到脚本中。

关于unix - 将密码传递给 Unix 脚本中的 ssh 提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15376087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com