无法执行 shell 脚本,收到错误
我编写的 shell 脚本通过 ssh 连接到远程服务器并执行命令。
sudo: no tty present and no askpass program specified
sudo: pam_authenticate: Conversation error
我与之建立 ssh 连接的用户在远程服务器上具有 sudo 权限,但用户帐户未在系统本地定义 [用户正在使用集中式服务进行身份验证]。
虽然我可能已经克服了第一个错误
sudo: no tty present and no askpass program specified
通过在脚本中使用“sudo -S”,第二个错误仍然存在
我正在使用 sshpass 实用程序来传递 ssh 密码:
sshpass -p 'PASSWORD' ssh -n -o StrictHostKeyChecking=no $USER@$IPADDRESS "COMMANDS"
答案1
用于ssh -t
强制 TTY 分配,以便sudo
可以询问您的密码。