我正在本地和远程计算机上编写一个bash脚本来设置GRE隧道。
我怎样才能(在脚本中间)能够有一段代码登录到远程机器,运行所需的iptables命令,然后注销,然后继续LOCAL上的设置机?
答案 0 :(得分:1)
如果客户端计算机也在运行bash,并且安装了OpenSshClient:您只需运行ssh user@host yourCommandToRunWithoutPty
即可。这将运行命令WITHOUT a pty / tty,这在某些情况下很重要,例如sudo
(sudo
期望tty要求输入密码。)
因此,我建议在服务器的/etc/sudoers
中添加该用户对该命令的无密码访问,如果(安全!)可能的话。
如果配置正确,您的客户应该能够运行ssh user@host sudo iptables --some-iptables-switches
。
注意在向/etc/sudoers
添加无密码命令时,请记住始终尽可能明确地使用您的参数,因此没有人可以滥用不带sudo密码而无法运行的参数。