ssh远程执行命令方法和Shell脚本实例

您或者感兴趣的篇章:

  • linux下利用ssh远程实施命令批量导出数据库到本地
  • 有关SSH
    远程执行命让你要掌握的贰3事

-t      Force pseudo-tty allocation.  This can be used to execute
arbitrary screen-based programs on a remote machine, which can be very
useful, e.g. when implementing menu services.  Multiple -t options force
tty allocation, even if ssh has no local tty. 

#!/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 
金沙手机APP,    ssh -t -p $port $user@$ip “remote_cmd” 
done 

普通话翻译一下:正是能够提供三个长途服务器的虚拟tty终端,加上这一个参数我们就能够在长距离服务器的虚构终端上输入本身的提权密码了,特别安全
命令格式

ssh -t -p $port $user@$ip  ‘cmd’ 

复制代码 代码如下:

听别人讲公共钥认证大概用户名密码认证能保障登6到长途local二服务器(有一些基本运行知识的人做这几个业务都不成难点)
cmd如若是本子,注意相对路线难点(相对路线在长距离实行时正是坑)

ssh -p $port $user@$p ‘cmd’ 
 
$port : ssh连接端口号 
$user: ssh连接用户名 
$ip:ssh连接的ip地址 
cmd:远程服务器要求举行的操作 

复制代码 代码如下:

其一措施依旧很有益于的,-t虚拟出3个远道服务器的终端,在多台服务器同时配备时的确节约了重重岁月啊!

预备工作

复制代码 代码如下:

ssh实践长途操作 命令格式

复制代码 代码如下:

示范脚本

ssh的-t参数

不足

其一命令能够满意大家超越53%的供给,不过常常运行计划繁多事物的时候要求root权限,然而有几处限制:
长途服务器local二禁止root用户登陆
在中远距离服务器脚本里转变身份用expect供给send密码,那样不够安全

写那篇博客在此以前,笔者google了一批相关小说,大都以说修改/etc/sudoers,然后NOPASSWD:钦赐的cmd,不过真诚不管用,未有远程虚拟终端那几个措施就是浮云,ubuntu十.04server 亲测!!

相关文章