如何在bash脚本中在远程服务器上使用SSH运行多个命令?

时间:2019-06-10 15:42:30

标签: bash ssh grep pipe remote-server

我想运行一个脚本,该脚本检查远程服务器上是否存在特定的文件夹,然后从该服务器中的特定文件到本地计算机抓取特定的行。

if ssh -t -t user@server [ -d /etc/nginx ]; then
      ssh -t -t  user@server 
ls -1a /etc/nginx/conf.d | grep $1 | xargs cat | grep specific_line | grep  .specific-extension | awk '{print $2}'
fi 

我使用awk '{print $2}'打印出grepd行的第二行

因此,我希望将其作为本地计算机的输出,或者甚至更好的是,我希望将其放入脚本的变量中。

我在互联网上找不到任何能解决此问题的简化版本。

我在服务器上启用了PSK,因此在ssh时不必输入密码。

1 个答案:

答案 0 :(得分:-1)

我只是在Python中使用paramiko做了类似的事情。我在几分钟内测试了数百个IP上许多帐户的sudo特权。您可以运行命令并获取stdin,stdout和stderr。那应该使您朝正确的方向开始

如果有帮助,您也可以使用登录名和证书。