ssh 简写

<< remotessh
remotessh

这一对之间,可以写多个命令,换行即可。
否者就简单的 双引号,里面每个命令用分号隔开。
注意: 在远程服务器上的执行权限。
注意:login密码需要交互输入,

ssh root@10.224.36.218 << remotessh
cd /usr/local/
mkdir tests
cd tests
touch aaa.txt
exit
remotessh

变量和等号之间不可以有空格;
remotessh结束时要写在行首;
变量列表中空格间隔,不要逗号;

#! /bin/bash
ip_array=("10.224.36.218" "10.224.36.84")
port="22"
user="root"
for ip in ${ip_array[*]}
do 
	ssh -t -p $port $user@$ip << remotessh
	cd /usr/local
	mkdir test222
	cd test222
	touch aaa.txt
	exit
remotessh
done

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
安装了 sshpass
然后 执行时 加上sshpass -p 'a'即可, 注意密码要单引号;

#! /bin/bash
ip_array=("10.224.36.218" "10.224.36.84")
port="22"
user="root"
for ip in ${ip_array[*]}
do 
	sshpass -p 'a' ssh -t -p $port $user@$ip << remotessh
	cd /usr/local//Multiprotocols-Stress-Tool
	git pull origin develop > log.txt
	exit
remotessh
done
posted @ 2019-10-09 10:43  vivi~  阅读(327)  评论(0编辑  收藏  举报