如何使用bash脚本在远程主机上执行命令

时间:2018-11-29 11:51:12

标签: bash shell

说我有一堆命令要在本地计算机上执行,而其他命令则要在远程主机上执行。例如:

 private async Task SecurityTokenValidateEvent(SecurityTokenValidatedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> arg){

  var nonceInClaims = arg.AuthenticationTicket.Identity.FindFirst("nonce").Value; //I get the value of nonce
  var reqQueryString = arg.Request.QueryString.Value; //Want to fetch nonce from query string. Unfortunately this is always empty.  
 }

关于如何使用Shell脚本实现所有这些的任何想法?

2 个答案:

答案 0 :(得分:1)

如果您具有无密码访问权限,这很容易。

ssh user@hostname " : remote script; echo hi; date; : etc; "

在遥控器上使用无密码的sudo,这也很容易,而且非常透明。

有关更详细的治疗方法,请参见this post还将讨论如何提供密码。其中之一应该可以帮助您。 :)

答案 1 :(得分:0)

如果您可以在计算机上安装python软件包,那么Fabric将为您解决问题。 示例远程命令如下所示:

fab -H <host1> -u <username> -p <password> -- gunzip -xvf /tmp/filename.gz

另一种选择是使用expect,但它不如Fabric平滑,因此我不推荐使用。