Linux下借助ssh进行shell远程执行

Posted 顧棟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下借助ssh进行shell远程执行相关的知识,希望对你有一定的参考价值。

ssh下shell远程执行

简单执行

以下基本能完成常用的对于远程节点的管理了,几个注意的点:

  1. 双引号,必须有。如果不加双引号,第二个ls命令在本地执行
  2. 分号,两个命令之间用分号隔开
  3. 如果涉及切换用户的话需要对切换用户后的命令进行单引号嵌套
ssh user@remoteip "cd /home; ll"
ssh user@remoteip "su - es -c 'cd /home/es/software; sh elasticsearch/bin/es-daemon.sh stop common; rm -rf elasticsearch; ln -s elasticsearch-5.4.2 elasticsearch; ls -l'";

脚本方式

#!/bin/bash
ssh root@10.242.4.9 > /dev/null 2>&1 << cccccc
su - es
cd software
mkdir gudong
exit
exit
cccccc
echo done!

远程执行的命令语句在<< cccccccccccc之间,在远程机器上的操作就位于其中,注意的点:

  1. << cccccccccccc只是一个标志符号,代表其中的命令在远程机器上执行,可以讲cccccc进行自定义形式。
  2. 重定向目的在于不显示远程的输出了
  3. 在结束前,加exit退出远程节点,如果切换用户了,可以多一个exit,退出来,也可以不退。

以上是关于Linux下借助ssh进行shell远程执行的主要内容,如果未能解决你的问题,请参考以下文章

linux下如何使用shell脚本进行ssh远程登陆到其他机器执行停止进程的命令。 用户名/密码:test/12345h

SSH 远程执行任务

ssh 远程执行命令

SSH 远程执行任务

[转帖]ssh 远程执行命令

shell脚本中怎么ssh上远程机执行命令