我想创建一个简单的脚本来通过 ssh 下载和安装程序。
#!/bin/bash
echo "Welcher Rechner?"
read nummer
echo "Verbinde zu APC "$nummer
apc=apc$nummer.local
sshpass -f .pass_file scp $HOME/autoconfig/.filius_update.sh dvadmin@$apc:$HOME/
sshpass -f .pass_file scp $HOME/autoconfig/filiusurl dvadmin@$apc:$HOME/
sshpass -f .pass_file scp $HOME/autoconfig/.pass_file.sh dvadmin@$apc:$HOME/.pass_file.sh
sshpass -f .pass_file ssh dvadmin@$apc 'export SUDO_ASKPASS=${HOME}/.pass_file.sh; sudo -A chmod +x ./.filius_update.sh && ./.filius_update.sh'
sshpass -f .pass_file ssh dvadmin@$apc 'export SUDO_ASKPASS=${HOME}/.pass_file.sh; sudo -A rm ./.pass_file.sh && rm filius.deb && rm filiusurl && rm .filius_update.sh'
但是终端向我发送一个错误,我必须配置 askpass:
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
sudo: A password is required
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
sudo: A password is required
我不明白我做错了什么。
谢谢您的建议。
答案1
现在我用
sshpass -f .pass_file ssh dvadmin@$apc '$HOME/.pass_file.sh | sudo -S chmod +x ./.filius_update.sh && ./.filius_update.sh'
最后终于成功了:) 我不知道为什么我的老方法不再起作用了,但是我有一个解决方案,现在我必须编辑我的其他脚本:/