• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > ssh远程执行命令方法和Shell脚本实例

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

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了ssh secure shell命令,ssh secure shell,ssh shell,ssh secure shell下载,ssh secure shell使用等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

写这篇博客之前,我google了一堆相关文章,大都是说修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,没有远程虚拟终端这个方法就是浮云,ubuntu10.04 server 亲测!!

ssh执行远程操作
命令格式
ssh -p $port $user@$p 'cmd' 
 
$port : ssh连接端口号 
$user: ssh连接用户名 
$ip:ssh连接的ip地址 
cmd:远程服务器需要执行的操作 
</div>

准备工作

基于公私钥认证或者用户名密码认证能确保登录到远程local2服务器(有点基本运维知识的人做这个事情都不是问题)
cmd如果是脚本,注意绝对路径问题(相对路径在远程执行时就是坑)

不足

这个命令可以满足我们大多数的需求,但是通常运维部署很多东西的时候需要root权限,但是有几处限制:
远程服务器local2禁止root用户登录
在远程服务器脚本里转换身份用expect需要send密码,这样不够安全

ssh的-t参数

-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. 
</div>

中文翻译一下:就是可以提供一个远程服务器的虚拟tty终端,加上这个参数我们就可以在远程服务器的虚拟终端上输入自己的提权密码了,非常安全
命令格式
ssh -t -p $port $user@$ip  'cmd' 
</div>

示例脚本

#!/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 
</div>

这个方法还是很方便的,-t虚拟出一个远程服务器的终端,在多台服务器同时部署时确实节约了不少时间啊!

</div>

您可能想查找下面的文章:

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

相关文章

  • shell脚本中使用iconv实现批量文件转码的代码分享
  • 统计网卡流量的两段shell脚本(使用ifconfig)
  • linux下怎么解压.tar.gz .tar.bz2命令
  • 完美解决gvim的菜单乱码问题
  • shell统计pv和uv、独立ip的方法
  • Shell脚本IF条件判断和判断条件总结
  • linux awk时间计算脚本及awk命令详解
  • Linux里awk中split函数的用法小结
  • 判断输入的日期是否正确的shell脚本
  • Linux进程控制详解及实例

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 远程SSH连接服务与基本排错经验总结
    • Linux下查找后门程序 CentOS 查后门程序的shell脚本
    • Shell脚本判断Linux系统是32位还是64位的几种方法分享
    • shell中的循环语句、判断语句实例
    • 一句话Shell命令关闭不需要的随机启动服务
    • Shell脚本实现检测文件是否被修改过代码分享
    • linux文件搜索及其它基础命令介绍(3)
    • 备份shell脚本实例代码
    • linux bash中too many arguments问题的解决方法
    • shell脚本监控mysql主从状态

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有