如何使用SSH在远程机器上运行shell脚本?

如何使用SSH在远程机器上运行shell脚本?

我想通过 ssh 使用 bash 脚本从本地到远程服务器执行一些 sudo 权限命令,而无需在 ssh 上传递多个以分号分隔的命令。我已尝试以下步骤但出现错误。

ssh -t user@remoteip 'bash -s' < services.sh

虽然我在这里使用了 -t 选项,但它仍然显示错误消息。

sudo: sorry, you must have a tty to run sudo

答案1

Defaults requiretty当 中未注释时,可能会发生这种情况/etc/sudoers

解决方法是注释该行:

#Defaults    requiretty

请记住仅/etc/sudoers使用visudo** 命令进行编辑。

**该visudo命令只能由用户运行root

答案2

你也可以尝试这个:

ssh -t user@remoteip <<'EOF'
command1
command2
command3
EOF

尽管最好将脚本与您想要的命令一起保存在远程计算机上,并在登录后调用它。

相关内容