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

  • Post author:
  • Post category:linux

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,退出来,也可以不退。

版权声明:本文为weixin_43820556原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。