SSH并在脚本中运行命令

时间:2015-08-11 04:24:10

标签: linux bash ssh

我正在本地和远程计算机上编写一个bash脚本来设置GRE隧道。

我怎样才能(在脚本中间)能够有一段代码登录到远程机器,运行所需的iptables命令,然后注销,然后继续LOCAL上的设置机?

1 个答案:

答案 0 :(得分:1)

如果客户端计算机也在运行bash,并且安装了OpenSshClient:您只需运行ssh user@host yourCommandToRunWithoutPty即可。这将运行命令WITHOUT a pty / tty,这在某些情况下很重要,例如sudosudo期望tty要求输入密码。)

因此,我建议在服务器的/etc/sudoers中添加该用户对该命令的无密码访问,如果(安全!)可能的话。

如果配置正确,您的客户应该能够运行ssh user@host sudo iptables --some-iptables-switches

注意在向/etc/sudoers添加无密码命令时,请记住始终尽可能明确地使用您的参数,因此没有人可以滥用不带sudo密码而无法运行的参数。