linux expect详解(ssh自动登录)】的更多相关文章

shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:" send "123\r" expect "*#" interact 原文链接:http://www.xuanhao360.com/linux-expects/ Expect是一个用来处理交互的命令.借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成…
expect可以让一些交互的任务自动完成,我们可以将一些交互过程写入脚本,ssh登录就是一个简单的实现,下面将介绍expect的用法. 1 安装 yum install -y expect 2 语法介绍 expect - send 这两个指令会配合使用,当expect接收到一个和预期字符串相匹配的输入,会执行send指令,send会发出字符串或者对应的指令. 执行如下脚本 expect "yes\n" send "What you type in is $expect_out…
随处可见的expect第一次见expect这个命令还是我第一次参加全量上线的时候,那是公司的一个牛人用Shell脚本写的一套自动部署.MD5 比对.发布的全量上线工具,没事的时候,看了下其中的几个脚本,好多的expect命令.实在是看不懂这个expect命令的用法,所以就找时间总结了这篇关于expect命令的文章. 先抛出一个问题现在有两台Linux主机A和B,如何从A主机ssh到B主机,然后在B主机上执行命令,如何使这个过程实现全程自动化?你可能会使用这种方法: ssh admin@10.22…
1:简单的实现ssh登录 #!/usr/bin/expect set ip "10.0.0.142" set user "root" set password " spawn ssh $user@$ip expect { "yes/no"{ send "yes\n";exp_continue } "password:"{ send "$password\r"} } intera…
原文链接:https://fuckcloudnative.io/posts/iterm2-auto-login/ 对于 YAML 工程师来说,我们经常需要 ssh 登录不同的服务器,每次登录时都要经历两个步骤: 输入 ssh root@host-ip 输入密码 每次都重复这样的操作,不仅麻烦,还要记忆好多东西.对于 Windows 用户来说,可以使用 Xshell 来实现自动登录功能,macOS 用户就比较麻烦了.iTerm2 是 macOS 平台上最强大的终端工具,虽然默认没有提供自动登录的功…
linux自动化交互脚本expect详解  更新时间:2020年10月21日 10:13:20   作者:lendsomething     这篇文章主要介绍了linux自动化交互脚本expect的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下   目录 一.介绍 二.安装 三.简单的expect脚本 3.1.编写脚本 3.2.解释脚本 3.3.总结 四.正文 4.1.常用命令说明 4.2.示例:运行shell脚本 一.介绍 expect脚本是…
expect实现ssh自动登录   #!/usr/local/bin/expect set PASSWD [lindex $argv 1] set IP [lindex $argv 0] set CMD [lindex $argv 2] spawn ssh $IP $CMD expect "(yes/no)?" { send "yes\r" expect "password:" send "$PASSWD\r" } "…
ssh自动登录的几种实现方法,记录在此.  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.pu…
Linux init详解 一.什么是INIT: init是Linux系统操作中不可缺少的程序之一. 所谓的init进程,它是一个由内核启动的用户级进程. 内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程.所以,init始终是第一个进程(其进程编号始终为1). 内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init.如果内核找不到init,它就会试着运行/b…
登录公司的跳板机是挺麻烦的事,首先要ssh,然后输入密码,有的公司可能还要动态密码,前两步操作都是固定的,所以能免去前两步的操作就会方便很多(线上出问题也能尽快登上去,免得紧张密码一直输错,哈哈哈). 脚本源码 #!/usr/bin/expect set bridge_host "jumper.******.com" set username "zhengbin" set password "******" set timeout spawn s…
原文:https://cn.aliyun.com/jiaocheng/162702.html 摘要:原文地址:http://www.cnblogs.com/wangkangluo1/archive/2011/09/23/2185938.html有时候系统管理员可能只关心现在系统中运行着哪些程序,而不想知道有哪些进程在运行.由于一个应用程序可能需要启动多个进程.所以在同等情况下,进程的数量要比程序多的多.为此从阅读方面考虑,管理员需要知道系统中运行的具体程序.要实现这个需求的话,就需要利用命令ps…
1.树状目录结构图 2./目录 目录 描述 / 第一层次结构的根.整个文件系统层次结构的根目录. /bin/ 需要在单用户模式可用的必要命令(可执行文件):面向所有用户,例如:cat.ls.cp,和/usr/bin类似. /boot/ 引导程序文件,例如:kernel.initrd:时常是一个单独的分区[6] /dev/ 必要设备, 例如:, /dev/null. /etc/ 特定主机,系统范围内的配置文件. 关于这个名称目前有争议.在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为…
Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linux命令速查手册 less命令 与 more命令 非常类似,但less命令 可以更加随意地浏览文件,而且 less 在查看之前不会加载整个文件. 相比较于more命令,很多人更喜欢使用 less命令. 一.Linux less命令语法 less [参数] 文件 less命令非常强大,在此只介绍几个常用…
Linux 系统结构详解 Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统.部分层次结构如图1-1所示. 1.linux内核 内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性. Linux 内核由如下几部分组成:内存管理.进程管理.设备驱动程序.文件系统和网络管理等.如图: 系统调用接口:SCI…
linux syslog详解 分三部分 一.syslog协议介绍 二.syslog函数 三.linux syslog配置   一.syslog协议介绍 1.介绍 在Unix类操作系统上,syslog广泛应用于系统日志.syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器.接收syslog的服务器可以对多个设备的syslog消息进行统一的存储,或者解析其中的内容做相应的处理.常见的应用场景是网络管理工具.安全管理系统.日志审计系统. 完整的syslog日志中包含…
linux命令详解之useradd命令使用方法 原文:http://blog.csdn.net/u011537073/article/details/51987121 Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也可以帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和各自的…
Linux文件系统详解 https://www.cnblogs.com/alantu2018/p/8461749.html 贼复杂.. 从操作系统的角度详解Linux文件系统层次.文件系统分类.文件系统的存储结构.不同存储介质的区别(RAM.ROM.Flash).存储节点inode.本文参考: http://blog.chinaunix.net/uid-8698570-id-1763151.html http://www.iteye.com/topic/816268 http://soft.ch…
[转载]Linux 命令详解:./configure.make.make install 命令 来源:https://www.cnblogs.com/tinywan/p/7230039.html 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤 一.基本信息 1../configure 是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本. 2.make 是用来编译的,它从Makefile中读取指令,…
title: SSH自动登录config文件配置 comments: false date: 2019-08-19 19:29:13 description: 更方便的 ssh 操作??? categories: Linux 概述 之前说过可以使用 spawn 命令来自动登录服务器,但是仅仅是登录那么很方便,如果使用 scp 拷贝文件呢?是不是得使用最原始的 scp user@host:/xxx . 还是不方便???那就操作起来 配置服务端 与客户端免密登录服务器一样,在服务器的 ~/.ssh/…
tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文件写到标准输出.很多人喜欢使用tail –f 来监控日志文件. 一.Linux tail命令格式 Linux tail命令 格式如下所示 tail [OPTION]... [FILE]... Linux tail命令 参数如下所示 -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c…
Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 cat命令 ,不过more命令以一页一页的形式显示,更方便使用者逐页阅读. 按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,输入/+字符串可以搜索字符串(与vi搜索类似). 一.Linux more命令语法 more命令的语法格式如下: more [-dlfpcsu] [-…
[转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可能会出现传输前后数据不一致的情况.这种情况在网络这种相对更不稳定的环境中,容易出现.那么校验文件的完整性,也是势在必行的. 使用说明 md5sum命令用于生成和校验文件的md5值.它会逐位对文件的内容进行校验.是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同.md5值是一个128位的二…
cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将几个文件连接起来显示,或者从标准输入读取内容并显示,常与重定向符号配合使用. 一.Linux cat命令语法格式 cat [OPTION]... [FILE].. 参数说明: -A, --show-all 等价于 -vET -b, --number-nonblank 对非空输出行编号 -e 等价于…
Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称. 一.Linux pwd命令语法 pwd [OPTION]... 参数说明: -L, --logical #use PWD from environment, even if it contains symlinks -P, --physical #a…
cd命令是linux实际使用当中另一个非常重要的命令,本文就为大家介绍下Linux中cd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux cd命令用于切换当前工作目录至 dirName(目录参数). 其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录). 另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,"..&…
今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录),还可以查看文件的权限(包括目录.文件夹.文件权限),查看目录信息等等,是一个非常强大有用的命令. 一.ls命令语法 ls [-alrtAFR] [name...] 二.ls命令参数 下面给大家介绍几个ls命令常用的参数. -a 显示所有文件及目录 (ls…
linux cdev详解  http://blog.chinaunix.net/uid-24517893-id-161446.html 用cdev_add添加字符设备驱动: //linux2.6中用cdev_add添加字符设备驱动 //传统的是直接使用register_chrdev //新的方式,驱动初始化写起来要繁琐一点,但是好处是能够根据需要控制cdev_add的设备数量,且主设备号不再完全受256个的限制.详情可以参考2.6的内核代码linux/fs/char_dev.c,以及上面引用的文…
--Linux内存详解 -----------------2014/05/24 Linux的内存上表现的不像windows那么直观,本文准备详细的介绍一下Linux的内存. 请看这下有linux命令free和vmstat输出的内存信息. Mem行used表示已经分配的内存,free表示尚未分配的内存,shared表示共享内存. 计算方法:缓存统计行free=Mem(free)+Mem(buffers)+Mem(cached) 共享内存 对于共享内存(Shared memory),主要用于在UNI…
由Linux链接详解(1)中我们简单的分析了静态库的引用解析和重定位的内容, 下面我们结合实例来看一下静态链接重定位过程. /* * a.c */ ; void add(int c); int main() { ; add(c); ; } /* * b.c */ extern int a; void add(int c) { a += c; } 实例中使用了如上代码, 在a.c 中是我们的入口函数main 和定义的全局变量a,其中引用了函数add 它的定义在b.c中.在b.c中又引用了a.c中a…
PS:欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 推荐大家到公众号阅读,那里阅读体验更好,也沉淀了很多篇干货. 前面两篇文章我们总结了 Docker 背后使用的资源隔离技术 Linux namespace. Docker 基础技术之 Linux namespace 详解 Docker 基础技术之 Linux namespace 源码分析 本篇将讨论另外一个技术--资源限额,这是由 Linux cgroups 来实现的…