linux远程登陆其他主机并执行命令的若干方式

一、命令行登陆

ssh后,一定后边加双引号 写命令,否则命令实在本地执行的,多条命令的话用双引号隔开,

ssh user@remoteNode "cd /home ; ls"  

二、脚本登陆

#!/bin/bash  
ssh root@192.168.0.23   << remotessh  
killall -9 java  
cd /data/apache-tomcat-7.0.53/webapps/  
exit  
remotessh 

  不产生日志

ssh root@192.168.0.23 > /dev/null 2>&1   << remotessh 

三、提高

不同远端机器上执行同一条命令

#!/bin/bash  
  
#变量定义  
ip_array=("192.168.1.1" "192.168.1.2" "192.168.1.3")  
user="test1"  
remote_cmd="/home/test/1.sh"  
  
#本地通过ssh执行远程服务器的脚本  
for ip in ${ip_array[*]}  
do  
    if [ $ip = "192.168.1.1" ]; then  
        port="7777"  
    else  
        port="22"  
    fi  
    ssh -t -p $port $user@$ip "remote_cmd"  
done