#!/bin/sh ] ; then echo "USAGE: $0 remote_ip serverXXXXX" echo " e.g.: $0 1.2.3.4 serverxxxx" exit ; fi host_ip=$ server_port=$ user_name="user_name" password="password" server_path="/xx/xxx" src_path=&quo…
#!/bin/expect -- ########################################## zhichao.hu #Push the id.pas.pub public key to the target server through the SSH service to implement secret-free login. #Define an iplist Create an iplist file in the current directory. The…
#!/usr/bin/expect -f ########################################## hutu #Push the id.pas.pub public key to the target server through the SSH service to implement secret-free login. #Define an iplist Create an iplist file in the current directory. The co…
[root@node2 ssh]# cat auto_ssh.sh #!/usr/bin/expect -f ########################################## #通过SSH服务将id.pas.pub公钥推送到目标服务器实现免密登陆 #参数:1.system_username # 2.system_password # 3.system_hostname # 4.CommandList [多个命令间:间隔] #返回值: # 0 成功 # 1 参数个数不正确 #…
expect是简单的工具原因,依赖于tcl. 直接apt安装就行. 四个关键字: spawn,派生出新进程. expect,期待得到的字符串,可以模式匹配. send,向进程发送字符串. interact,进入交互模式. 下面是连接ssh例子: #! /usr/bin/expect spawn ssh root@192.168.10.31 expect { "*yes/no" { send "yes\r"; expect "*assword:"…
首先安装expect # yum -y install expect 命令格式 # ./expect IP COMM    #expect是独立的工具,所以不能用sh来执行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #!/usr/bin/expect   set timeout -1    #超时时间默认10秒,如果你要执行一条很漫长的命令,那么这个很有必要,这里将超时时间设置为永不超时   set COMMADN1 [lindex $arg…
刚上线的服务器需要备份日志,要备份到另一台服务器上去,为了减少工作量,采用linux的定时任务去自动执行.因服务器都是linux的,因此采用linux的远程复制scp命令.但这里涉及到一个问题,就是scp命令执行时需要输入密码,在网上大概搜集了下有两种方法:①一种是采用except方法(会存储明文密码):②采用ssh生成密钥的方式.这里我采用第二种方式.耗时两天,中途遇到各种问题,不过总算解决了 备份方式:拷贝前一天的日志文件到备份服务器,再压缩后删除复制的本地文件.日志文件每天都会产生,格式都…
1. 引言 最近做了一个项目,需要频繁与另一台主机进行文件的传输:中间想到了很多方式:FTP.samba.curl等,但是还是感觉scp最好用. SCP使用教程可参阅:http://www.jb51.net/article/70919.htm 但scp也存在着一些问题,每次都需要输入目标机的密码,需人为手动干预,这个就比较烦了,那么有没有可以自动进行界面交互的命令呢? 答案当然是:有: expect喽 except使用教程:https://www.cnblogs.com/lixigang/art…
Linux脚本中有很多场景是进行远程操作的,例如远程登录ssh.远程复制scp.文件传输sftp等.这些命令中都会涉及到安全密码的输入,正常使用命令时是需要人工手动输入密码并接受安全验证的.为了实现自动化远程操作,我们可以借用expect的功能. expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预.expect是不断发展的,随着时间的流逝,其功能越来越强大,已经成为系统管理员的的一个强大助手.expect需要Tcl编程语言的支持,要在系统上运行expect必须…
1. 说明 在编写脚本时,可能会遇到需要在另一台主机上执行一个命令,或者在本机拷贝另一台主机内的一个文件.如果两台主机之间没有做互信,就会牵扯到用户输入密码的交互过程,这对编写自动脚本来说, 就行不通了. 要实现在脚本内的自动交互,就需要 expect 2.  expect 命令介绍 expect 是一个用来处理交互的命令.借助 expect 可以将交互过程写在一个脚本里,就可以实现自动化完成.上面的问题也能得到解决. 形象来说,如下命令的交互都能得到解决: ssh scp ftp CentOS…