sshpass/ssh 中的 ssh-askpass 错误

sshpass/ssh 中的 ssh-askpass 错误

我们的一个供应商为我们提供了一个新的嵌入式系统进行测试,但我的一个 bash 测试脚本失败了:

sshpass -p xxxxxx ssh  -o "StrictHostKeyChecking=no" root@rpi-2 "Do stuff"
ssh_askpass: exec(/usr/lib64/misc/ssh-askpass): No such file or directory
Permission denied, please try again.

看来他们已经升级到 Ubuntu(从 Gentoo):

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:        18.04
Codename:       bionic

谷歌搜索将我带到了这个论坛,其中另一个帖子(链接已删除)指出了一个类似的问题,通过安装 ssh-askpass 包可以解决。检查 apt 列表,我发现此系统上没有安装 ssh-askpass,我相信这是我的问题的根本原因。我的问题当然是,这个系统的大部分都是只读的,我无法执行任何 apt 安装(至少没有会修改 /bin /lib /usr 等的 apt 安装)。

我以为 ssh-askpass 是在 GUI 环境中使用的,对于 ssh 的 CLI 调用来说不是必需的。虽然 X 已在此处安装,但它并不参与我所运行的会话。在我的环境中,DISPLAY 和 SSH_ASKPASS 均未设置。

所以我想知道是否有解决这个问题的方法,或者我唯一的选择是回到供应商并要求他们在他们的发行版中包含 ssh-askpass 包,他们可能会这样做,但至少需要一个开发周期(几个月)才能批准。

最终目标只是通过 LAN 从嵌入式系统远程执行 Raspberry Pi 上的 bash 脚本,无需用户交互(即无需密码提示)。

有什么建议吗?

答案1

这是一个解决方法:

export SSH_ASKPASS=/var/bin/my_ssh-askpass

内容:

# my_ssh-askpass: Provide password to ssh
echo "password"

相关内容