`

使用expect实现ssh自动交互

 
阅读更多
#!/usr/bin/expect -f
#auto ssh login
set timeout 30
set sshhost [lindex $argv 0]
set sshport [lindex $argv 1]
set sshusername [lindex $argv 2]
set sshpassword [lindex $argv 3]
set sshsource_directory [lindex $argv 4]
# echo $sshhost
# set sshhost 106.3.226.132
spawn ssh -l$sshusername -p$sshport $sshhost
expect {
        "not know" {send_user "[exec echo \"not know\"]";exit}
        "(yes/no)?" {send "yes\r";exp_continue}
        "password:" {send  "$sshpassword\r"}
        "Permission denied, please try again." {
                send_user "[exec echo \"Error:Password is wrong\"]"
                exit
        }
        expect eof
}
#iexpect "password:"
#send "$sshpassword\r"
expect "]*"
send "cd $sshsource_directory\r"
send "ls |grep csv$|xargs bzip2 -z\r"

#send "tar -cjvf visitlog.2014-07-10_08.csv.tar.bz2 visitlog.2014-07-10_08.csv\r"
send "exit\r"
interact
分享到:
评论

相关推荐

    expect交互式ssh登陆交换机实现自动备份

    bash 调用expect ssh到cisco设备,通过tftp方式备份配置 已经测试通过,并上到生产服务器 前提要先架设好TFTP服务器并测试通过

    ssshHost.sh脚本中封装expect的ssh登录自动填充密码功能.sh

    在ssshHost.sh脚本中封装expect的ssh登录自动填充密码功能

    ssh自动连接服务器并邮件提醒

    ssh自动连接脚本,使用了expect自动化交互以及mail邮件提醒功能。本人亲自实践,希望有助于大家。

    expect.rar

    expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。 在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端...

    python之pexpect实现自动交互的例子

    Pexpect 的使用范围很广,可以用来实现与 ssh、ftp 、telnet 等程序的自动交互;可以用来自动复制软件安装包并在不同机器自动安装;还可以用来实现软件测试中与命令行交互的自动化。 整体来说大致的流程包括: 运行...

    Linux expect实现自动登录脚本实例代码

    expect是一个基于Tcl的用于自动交互操作的工具语言,它适合用来编写需要交互的自动化脚本,比如上面提到的SSH输入...下面这篇文章主要给大家介绍了关于Linux expect实现自动登录脚本的相关资料,需要的朋友可以参考下。

    交互试软件的脚本

    <expect>交互试软件的脚本 可以写SSH登陆的脚本,实现一些shell实现不了的功能

    python expect工具

    python expect工具。 自动交互完成: 1. 批量并行scp/rsync 2. 批量并行ssh并执行命令 3. 挨个自动ssh,退出(ctrl-D、exit)后,自动登入下一台机器

    ssh自动输入密码自动登录

    借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成。形象的说,ssh登录,ftp登录等都符合交互的定义。下文我们首先提出一个问题,然后介绍基础知四个命令,最后提出解决方法。 expect中最关键的四个...

    ssh自动登录的4种实现方法

    1. 自动ssh/scp方法 A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运行命令:# ssh-keygen -t rsa (连续三次回车,即在本地生成了...

    perl ssh 也不错的例子

    perl ssh 程序,一个不错的例子!! 用了net::ssh::expect

    linux中expect的介绍与使用示例

    一、概述 ...Expect的作者Don Libes在1990年 开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件 (Expect [is a] software suite for automating interactive tools)

    expect-5.45-14.el7_1.x86_64.tar.gz

    适用与centos7.5的expect,expect 处理交互的命令,可以将交互过程如 ssh 登录, ftp 登录等写在一个脚本上,使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管理员的工作效率

    paramiko-expect:用于Paramiko SSH库的类似Python期望的扩展,它还支持跟踪日志

    Paramiko Expect为Paramiko SSH库提供了一个类似于期望的扩展,该脚本库允许脚本通过真正的SSH连接与主机进行完全交互。 该类由SSH客户端对象构造(将来可能会扩展为支持传输,以提供更大的灵活性)。 快速开始 要...

    Shell脚本实现自动输入密码登录服务器

    主要介绍了Shell脚本实现自动输入密码登录服务器,本文使用expect来实现这个需求,讲解了expect的安装及使用脚本,需要的朋友可以参考下

    ActiveTCL8.4.20带expect

    WINDOWS平台EXPECT,可用于ssh登录等交互,找了好久才弄到的。。

    Jsch批量执行多条命令,包含切换用户输入密码

    参考expect4j的交互式操作方式控制输入输出流实现批量执行多条shell命令同时支持切换用户输入密码提权执行命令输入密码等操作 有完整的测试用例,便于理解 模板化执行命令示例 [$]send[su - root] [Password:]...

    gateway_jumper:一个Expect脚本,可以在建立SSH连接时完成输入密码和TOTP代码的交互过程

    如果没有其他身份验证选项可用,则在通过Jumphost设置到目标主机的穿梭连接时,Expect脚本可用于自动进行输入密码和TOTP代码的交互过程。 将为您填写的命令和提示示例: sshuttle -r [local sudo] Password: ...

    con_host.sh

    实现交互式保存主机密钥,进行ssh连接,通过expect自动进行主机登录,减少了每次连接的麻烦。

Global site tag (gtag.js) - Google Analytics