linux expect 自动登录交换机保存配置的方法

telnet.exp 文件内容如下:

#!/usr/bin/expect -f
 set ip [lindex $argv 0 ]
 set username [lindex $argv 1 ]
 set password [lindex $argv 2 ]
 set superpassword [lindex $argv 3 ]
 set timeout 10
 spawn telnet $ip
 expect {
 "name" { send "$username\r";exp_continue }
 "*assword" { send "$password\r"; exp_continue }
 "*>" { send "enable\r" ; exp_continue }
 }

expect {
 "*assword" { send "$superpassword\r"; exp_continue }
 "*#" { exp_send "wr \r";}
 }

exp_send "quit\r"
expect eof

命令执行:

./telnet.exp 192.168.0.80 admin cisco cisco

telnet.exp 命令后参数依次为交换机IP、登录账号、密码、enable密码。

以上这篇linux expect 自动登录交换机保存配置的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

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

    expect 是建立在工具控制语言(Tool Control Language,TCL)之上的一个工具,它允许你通过编写程序来对一些日常繁琐的任务进行有交互界面的自动化操作.在 expect 上下文环境,你可以使用一些额外的只适用于 expect 上下文环境的命令,如 spawn.send.interact 等命令. expect 预期的终端输出 这里预期的输出从左往右只要存在匹配即可.它相当于 Python 的 search() 函数,而非 match() 函数.举个例子你就明白了. 想要登陆

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

    expect expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令.当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令.但当不能使用密钥验证的时候,我们就没有办法了.所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令. 引言 目前在公司是一人一台虚拟机,大多数工作都要在虚拟机上完成,为此每天要执行很多次[ssh xxx@xxxxxx]指令登录虚拟机:有很多方式解决这个问题,如使用xshell.secureCRT等工具记录常用

  • shell脚本无密码登录 expect的使用方法详解

    shell脚本无密码登录 expect的使用方法详解 今天需要做一个定时任务脚本将最新的数据包文件传到远程的服务器上,虽然有密钥但也是要求输入密码的那种,所以只能另想办法实现让脚本自动输入密码了. 从网上查到使用expect可以,简单研究了一下,效果不错. 因为我的操作系统没有安装expect,所以直接"yum -y install expect",你可以根据你的操作系统安装expect,或者源码编译. 安装好之后就可以使用了,这里有几种方法: 一.单独写一个脚本 如 auto_scp

  • ssh expect自动登录的脚本代码

    实现:ssh远程登录,每次都要指定一堆用户名和密码,现要求实现自动登录.登录流程:本地A 先登录到 B 再由B 登录到最终的C 如下: 复制代码 代码如下: #!/usr/bin/expect -fset timeout 30spawn ssh Bexpect "password:"send "passwd@\r"expect "]*"send "ssh name@C -p port\r"expect "passwo

  • 详解Linux使用shell+expect远程登录主机

    详解Linux使用shell+expect远程登录主机 最近使用Ubuntu系统想远程登录自己的vps主机,但是感觉自带的远程登录软件不太好使.于是乎想着怎么使用shell脚本来登录,于是Google之后整理了一下,记录一下,方便以后用到. 1.准备工作:安装expect for Ubuntu sudo apt-get update sudo apt-get install expect for Centos yum install expect 2.新建脚本粘贴以下内容 #!/usr/bin/

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

    背景 linux脚本中有很多场景是进行远程操作的,例如远程登录ssh.远程复制scp.文件传输sftp等.这些命令中都会涉及到安全密码的输入,正常使用命令时是需要人工手动输入密码并接受安全验证的.为了实现自动化远程操作,我们可以借用expect的功能. expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预.expect是不断发展的,随着时间的流逝,其功能越来越强大,已经成为系统管理员的的一个强大助手.expect需要Tcl编程语言的支持,要在系统上运行expec

  • linux expect 自动登录交换机保存配置的方法

    telnet.exp 文件内容如下: #!/usr/bin/expect -f set ip [lindex $argv 0 ] set username [lindex $argv 1 ] set password [lindex $argv 2 ] set superpassword [lindex $argv 3 ] set timeout 10 spawn telnet $ip expect { "name" { send "$username\r";exp

  • Linux实现自动登录的实例讲解

    使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: #!/usr/bin/expect set timeout 30 spawn ssh -l username 192.168.1.1 expect "password:" send "ispass\r" interact 1. [#!/usr/bin/expect] 这一行告诉操作系统

  • python使用paramiko模块通过ssh2协议对交换机进行配置的方法

    该代码用的是paramiko模块,python版本是python2.7 下面上源码 # -*- coding: utf-8 -*- import paramiko import time import os port = '22' username = '****' password = '****' ip = '****' # 测试用的交换机ip msg1flag = 0 mycmd1flag = 0 # 核心方法,该方法连接远程主机并打开一个终端,并将该终端返回 def msg1(ip,mp

  • php版微信自动登录并获取昵称的方法

    本文实例讲述了php版微信自动登录并获取昵称的方法.分享给大家供大家参考,具体如下: 微信自动登录并获取昵称是可以通过api接口来获取的也是通过微信开放的接口来实现了,下面我们一起来看一个例子 仅记录:微信获取昵称自动登录 经过反复几次验证,发现我这个方法有缺陷: 微信内 未关注进入网站,无法获得昵称. 关注后用我这个方法可以获得昵称. 是否是因为第一次生成openid 所以还未生成昵称?待测试. /** * 获取当前页面完整URL地址 */ function get_url() { $sys_

  • 如何实现Linux操作系统的自动登录

    开机自动登录Linux,并自动运行XWindow应用程序,有其特殊的应用背景,如基于Linux平台的监控系统,Linux启动后不需要身份验证,而直接运行监控程序等等.本文以Redhat7.2为平台,结合Linux启动过程,介绍了如何避免身份验证自动登录,并直接进入X Window自动运行应用程序. 一.Linux启动的最后阶段的工作 Linux在启动过程的最后阶段(具体启动步骤略),init会根据/etc/inittab文件的最后一行x:5:respawn:/etc/X11/prefdm-nod

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

    1. 自动ssh/scp方法 A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运行命令:# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)# ssh root@192.168.60.110 "mkdir .ssh" (需要输入密码)# scp ~/.ssh/id_rsa.pub root@192.168.60.110:.ssh/

  • ASP.NET Core中修改配置文件后自动加载新配置的方法详解

    前言 在 ASP.NET Core 默认的应用程序模板中, 配置文件的处理如下面的代码所示: config.AddJsonFile( path: "appsettings.json", optional: true, reloadOnChange: true ); config.AddJsonFile( path: $"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: t

  • linux Ubuntu下SSH无密码验证配置的方法步骤

    前言 SSH为Secure Shell 的缩写,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.越来越多的小伙伴们使用远程登录,而ssh安全性无疑是很高的,那么我们现在来看看如何实现ssh无密码验证配置. 一. 准备工作 首先要确保你的linux系统中已经安装了ssh,对于ubuntu系统一般默认只安装了ssh client,所以还需要我们手动安装ssh server: sudo apt-get install openssh-server 二. SSH基本原理 2.1 基本原理

  • Linux下自动删除归档日志文件的方法

    1.日志删除策略 自动删除7天前的归档日志与备份文件. 2.调度计划 0 0 * * * nohup sh /db2backup/script/auto_rm_logs.sh & 3.日志删除脚本 auto_rm_logs.sh #!/bin/sh #------------------------------------- # rm db2 archive log file and *.tgz files @hury # create @2016-12-13 # script name:aut

随机推荐