Linux 之 expect 非交换式命令

expect 非交换式命令

测试实例:非交换式登陆某一台服务器,通常第一次登陆一台服务器的时候,需要按一下yes,然后再输入密码,我们目的是通过expect模拟输入

[[email protected] ~]# ssh 10.3.151.31
The authenticity of host ‘10.3.151.31 (10.3.151.31)‘ can‘t be established.
RSA key fingerprint is 08:1e:93:79:5c:0f:6c:de:68:d5:e8:57:8c:44:a5:57.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘10.3.151.31‘ (RSA) to the list of known hosts.
[email protected]‘s password:
Last login: Wed Jun  6 18:32:57 2018 from 10.4.50.229

1、安装expect

yum -y install expect

2、编写test.exp文件

#!/usr/bin/expect

set host [lindex $argv 0]
set password "kang"
spawn ssh "[email protected]$host"
expect {
                "yes/no"        {send "yes\r";exp_continue}
                "*password"     {send "$password\r"}
}
expect eof

3、运行test.exp文件

[[email protected] ~]# expect test.exp 10.3.151.31
spawn ssh [email protected]
[email protected]‘s password:
[[email protected] ~]$

原文地址:http://blog.51cto.com/12965094/2125676

时间: 2024-12-14 23:52:16

Linux 之 expect 非交换式命令的相关文章

Linux/Unix非交换方式修改密码避免命令历史能查看到密码的方法

除了Solaris,HP-UX不支持chpasswd这种非交换方式修改账号密码之外,很多Linux/Unix都正常,比如:.Redhat.CentOS.Suse. Unbuntu和AIX,但是用chpasswd这种方式修改密码有个缺陷,就是可能命令历史中存在密码明文(如果会记录命令历史的话).通过网上查询,设置HISTCONTROL=ignorespace,这样如果命令前面加上空格的话,就不会把命令记录到命令历史文件中,但是实际测试,有不少操作系统或者shell是不支持这个变量的,因此还得想其他

Linux必学的60个命令【转载】

Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作.文件存  [转载地址]http://blog.chinaunix.net/uid-16728139-id-3154272.html 自己留着,用得着. Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统

Linux必学的60个命令

Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令. 要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统.不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个.这里把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍.◆ 安装和登录命令:login.shutdown.ha

【转】linux 必须掌握的60个命令

Linux必学的60个命令Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统.不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个.这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍.◆ 安装和登录命令:log

Linux必学的60个命令 (转)

Linux必学的60个命令 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, 就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统. 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个.这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分

Linux中系统检测工具top命令

本文转自:https://www.cnblogs.com/zhoug2020/p/6336453.html 首先介绍top中一些字段的含义: VIRT:virtual memory usage 虚拟内存1.进程"需要的"虚拟内存大小,包括进程使用的库.代码.数据等2.假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量 RES:resident memory usage 常驻内存1.进程当前使用的内存大小,但不包括swap out2.包含其他进程的

Linux下几种文件传输命令

Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性.在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作).Sftp与ftp虽然只有一字之差,但基于

linux用户,用户组详细管理命令使用

用户,用户组管理命令使用 首先对用户,用户组做简单介绍: Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也能帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和用户口令.用户在登录时键入正确的用户名和口令后,才能进入系统和自己的主目录. 本文从以下4个方面分别介绍linux用户与用户组管理命

Linux 性能监控的18个命令行工具

对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作.这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因.这个命令行工具列表提供了足够的工具,您可以 挑选适用于您的监控场景的工具. 1.Top-Linux进程监控 Lin