环境: redhat 6.5

根据网上提供方法,测试了很多写法都不成功,测试了很久才有了以下脚本。

命令远程连接ssh并执行命令,scp/ftp等远程连接操作同理:

#!/usr/bin/expect

set passwd "password"

set user "root"

set host "192.168.1.168"

#spawn表示开启新expect会话进程

spawn ssh $user@$host

#有可能检测密钥方式连接,我的没有所以先注释了

#expect检测字符串经过简单测试,应该是以正则表达式匹配接收的字符

#expect "yes/no"

#send "yes\r"

expect  "password"

send "$passwd\r"

expect "$user@"

#感觉shell交互就是得expect先接收,才能进行下一步send

send "echo 'passwd' >> /root/for_test.sh\r"

expect "$user@"

send "exit\r"

#expect eof表示结束expect和相应进程会话结束,如果用interact会保持停留在当前进程会话

expect eof

shell脚本命令远程连接ssh并执行命令的更多相关文章

  1. Shell脚本中实现切换用户并执行命令操作【转】

    第一种方法 cat test.sh #!/bin/bashsu - test <<EOFpwd;exit;EOF 执行结果图: 第二种方法 当然也可以用下面的命令来执行 复制代码代码如下: ...

  2. golang使用ssh远程连接服务器并执行命令

    安装golang.org/x 直接去github上面,把https://github.com/zieckey/golang.org,把整个目录拷贝下来放到你的gopath下面即可.记住在gopath的 ...

  3. [CTF技巧]批量连接SSH批量执行命令

    https://files.cnblogs.com/files/nul1/autossh1.3.jar.zip 下载下来以后直接将后缀去除就好了. 比赛的时候可以批量写一个不死马然后你懂的. Linu ...

  4. Linux centosVMware运行告警系统、分发系统-expect讲解、自动远程登录后,执行命令并退出、expect脚本传递参数、expect脚本同步文件、指定host和要同步的文件、shell项目-分发系统-构建文件分发系统、分发系统-命令批量执行

    一运行告警系统 创建一个任务计划crontab -e 每一分钟都执行一次 调试时把主脚本里边log先注释掉 再次执行 没有发现502文件说明执行成功了,每日有错误,本机IP 负载不高 二.分发系统-e ...

  5. Linux 使用 ssh 命令远程连接另一台 Linux

    用 Linux 系统的 ssh 命令远程连接另一台 Linux 机器的命令 #ssh 用户名@主机名(IP地址) 例: #ssh root@10.41.24.138                  ...

  6. java使用ssh连接Linux并执行命令

     方式1:通过设置账号密码和链接地址 maven pom.xml配置: <dependency>         <groupId>com.jcraft</groupId ...

  7. Ubuntu16.04下使用rdesktop命令远程连接windows机器

    前段时间在本机安装了ubuntu16.04桌面版,后来需要远程连接一台win10系统的跳转机,下面介绍使用rdesktop命令远程连接windows机器的操作记录:1)首先安装rdesktop工具 k ...

  8. 网络分析shell脚本(实时流量+连接统计)

    介绍一个强大的分析网络的shell脚本,此脚本是从EZHTTP拆分出来的,觉得有必要单独介绍下.脚本运行效果截图: 此脚本包含的功能有: 1.实时监控任意网卡的流量 2.统计10秒内平均流量 3.统计 ...

  9. 虚拟机联网及远程连接-Linux基础环境命令学习笔记

    1.ifconfig命令=ip a命令,查看IP地址 网卡默认名称eth0. Bcast 广播地址2.xshell or secureCRT远程连接 ssh root@地址 xmanager 远程桌面 ...

随机推荐

  1. ABP框架(asp.net core 2.X+Vue)模板项目学习之路(二)--切换MySql数据库

    前言: 大家好,今天给大家带来ABP第二篇的分享,在写这篇分享的时候非常的困难,因为发现ABP的框架越是深入.难度也就越大,而且深刻感觉到自己领域驱动开发知识的欠缺,前段时间买了两本有关于领域驱动知识 ...

  2. python_01

    测试工程师的短板,近二年的时间,python这门语言获得非同一般的美誉.在算法,测试,运维里火的不要不要的.本人学了将近一年的时间,总是林林散散的学,也没有规划的去分析和总结.希望能够帮我梳理一下这一 ...

  3. C++编程题#1:含k个3的数

    描述 输入二个正整数m 和 k,其中1 < m < 100000,1 < k <5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO. 例 ...

  4. Linux 驱动——Button8(输入子系统)

    输入子系统由驱动层.输入子系统核心.事件处理层三部分组成.一个输入事件,如鼠标移动.键盘按下等通过Driver->Inputcore->Event handler->userspac ...

  5. Hadoop IO

    检测损坏数据的常用方法是第一次进入系统时计算数据的校验和,然后和传输后新生成的校验和进行匹配.若匹配失败,则认为数据被损坏了.常用CRC-32(cyclic redundancy check,循环冗余 ...

  6. Jenkins-client模式配置

    Jenkins配置master-slave模式 本来想着先写一篇jenkins安装的流程,但是现在jenkins做的已经非常完善了,有.war文件,直接在tomcat启动即可,所以这里就不多说了,小白 ...

  7. php 调用接口

    1.一般常用方法 file_get_contents(): 今天调用了一个反人类的接口,接口是get方式传输,里面有一个参数是当前时间,没错,不是时间戳,是当前格式化的时间:2017-8-9 11:1 ...

  8. Flask 上下文管理

    为什么用threading.local? 我们都知道线程是由进程创建出来的,CPU实际执行的也是线程,那么线程其实是没有自己独有的内存空间的,所有的线程共享进程的资源和空间,共享就会有冲突,对于多线程 ...

  9. Django JWT Token RestfulAPI用户认证

    一般情况下我们Django默认的用户系统是满足不了我们的需求的,那么我们会对他做一定的扩展 创建用户项目 python manage.py startapp users 添加项目apps INSTAL ...

  10. maven各个属性参数详解

    <project xmlns="http://maven.apache.org/POM/4.0.0 " xmlns:xsi="http://www.w3.org/2 ...