`

使用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服务器并测试通过

    linux命令expect实现ssh登陆.docx

    Expect 可以模拟用户交互,自动输入命令和参数,实现自动化登录、文件传输、数据备份等操作。下面我们将详细介绍如何使用 Expect 实现 SSH 登陆。 Expect 的安装 ---------------- Expect 软件包可以在大多数 ...

    用Expect实现Linux自动远程登陆.pdf

    Expect 的实现代码可以使用 Tcl 语言,通过 Expect 的自动输入功能,实现远程登录的自动化。 Expect 的应用场景非常广泛,包括远程登录、远程操作、自动化测试等。 Expect 的优点包括: * 实现远程登录的自动化,...

    用于shell脚本无交互的ssh自动登陆(转载)

    为了解决这一问题,这篇博文介绍了如何使用expect工具实现shell脚本中的SSH无交互自动登录。 expect工具是基于Tcl语言编写的,它能够通过自动化的方式响应程序输出的提示信息。在ssh命令执行时,expect可以用来捕获...

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

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

    expect配置单向ssh免密码登录

    `expect`是Tcl语言的一个扩展,它能够自动应答交互式程序,如SSH登录过程中的密码提示。 首先,我们来理解SSH密钥对的生成和使用。SSH密钥对由一个公钥和一个私钥组成,公钥放在远程服务器的`~/.ssh/authorized_...

    linux实现交互执行:expect

    `expect`是一个基于TCL(Tool Command Language)的脚本语言,主要用于自动化那些需要用户交互的任务,它能够模拟用户对命令行的输入,极大地提高了工作效率。 `expect`的基本工作原理是通过读取脚本中的指令,监控...

    用expect实现ssh自动登录服务器并进行批量管理的实现方法

    本文将深入讲解如何使用expect实现实现SSH自动登录服务器并进行批量管理。 首先,我们需要理解SSH(Secure Shell)协议,它是一种网络协议,用于在不安全的网络上安全地执行远程命令。SSH通常需要用户提供用户名和...

    shell脚本实现ssh自动登录功能分享

    该脚本基于`expect`命令实现了SSH自动登录。`expect`是一个用于自动化交互式应用的工具,比如telnet、ftp、passwd、fsck等。在本场景中,`expect`被用来处理SSH登录过程中的人机交互,如确认是否继续连接、输入密码...

    expect在windows下使用的

    3. **脚本编写**:使用Tcl语法编写`Expect`脚本,结合`send`命令发送输入,可以实现自动化操作。例如,自动登录到远程服务器,执行一系列命令,然后退出。 4. **变量和控制结构**:Tcl提供了丰富的变量类型和控制...

    Linuxssh登录远程服务器 expect

    标题"Linux ssh登录远程服务器 expect"直指一个关键的自动化场景:利用`expect`来实现SSH的无交互登录。这在系统维护、自动化部署或持续集成等场景中非常常见,可以极大地提高工作效率。 首先,我们需要理解SSH的...

    expect自动登录.pdf

    Expect是一个用于自动化控制交互式应用程序的工具,常用于自动化执行需要用户交互的命令,例如登录服务器、执行远程命令等。Expect通过预测应用程序的行为,自动发送命令序列。本文将详细介绍如何安装、使用Expect...

    centos7 ssh免密登录自动化配置脚本(ps:已测试过)

    本文将详细介绍如何使用shell和expect脚本在CentOS7系统上实现SSH免密登录的自动化配置。 首先,我们需要理解SSH免密登录的基本原理。SSH免密登录依赖于公钥认证机制。每个SSH用户都有一个密钥对,包括公钥和私钥。...

    Linux下使用expect命令编写自动化交互脚本

    expect是基于TCL语言的,扩展了TCL语法以实现自动应答和等待特定输出的功能。 expect的核心在于它可以“预期”(expect)某个特定的输出或模式,并对它作出反应。例如,当你需要通过SSH登录到远程服务器时,expect...

    利用expect命令实现Shell自动化交互的方法详解

    为了提高效率并实现自动化处理,我们可以借助`expect`这一强大的工具来实现无人值守的自动化交互。 #### 什么是expect `expect`是一种用于自动化交互式应用的免费编程工具。它能够模拟用户的交互行为,如自动输入...

    交互试软件的脚本

    《使用 Expect 脚本实现自动化交互操作》 在 IT 领域,尤其是在系统管理和自动化运维中,Expect 是一个非常实用的工具。 Expect 软件允许编写脚本模拟用户与命令行程序的交互,尤其适用于那些需要输入密码、等待...

    详解Java使用Jsch与sftp服务器实现ssh免密登录

    Jsch(Java Secure Channel)是一个纯Java语言编写的库,它能够实现SSH(Secure Shell)功能。SSH是一种安全协议,它主要用于在不同的系统或服务器间建立安全的连接,并在传输数据的过程中对数据进行加密。在Java中...

    expect-5.21-for-win.rar

    《使用Expect 5.21 for Windows:自动化Shell交互脚本的利器》 在Windows操作系统环境中,虽然原生不支持Unix-like的shell脚本,但通过工具如Expect,我们可以实现类似的功能,进行命令行程序的自动化交互。Expect...

Global site tag (gtag.js) - Google Analytics