Linux下借助ssh进行shell远程执行
Posted 顧棟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下借助ssh进行shell远程执行相关的知识,希望对你有一定的参考价值。
ssh下shell远程执行
简单执行
以下基本能完成常用的对于远程节点的管理了,几个注意的点:
- 双引号,必须有。如果不加双引号,第二个ls命令在本地执行
- 分号,两个命令之间用分号隔开
- 如果涉及切换用户的话需要对切换用户后的命令进行单引号嵌套
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!
远程执行的命令语句在<< cccccc
至cccccc
之间,在远程机器上的操作就位于其中,注意的点:
<< cccccc
至cccccc
只是一个标志符号,代表其中的命令在远程机器上执行,可以讲cccccc进行自定义形式。- 重定向目的在于不显示远程的输出了
- 在结束前,加exit退出远程节点,如果切换用户了,可以多一个exit,退出来,也可以不退。
以上是关于Linux下借助ssh进行shell远程执行的主要内容,如果未能解决你的问题,请参考以下文章
linux下如何使用shell脚本进行ssh远程登陆到其他机器执行停止进程的命令。 用户名/密码:test/12345h