首页 > 系统相关 >编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式)。

编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式)。

时间:2023-10-07 14:38:09浏览次数:36  
标签:脚本 shell send expect yes password user


expect脚本:

[10:40:45 root@centos8 ~]#cat expect{1..3}
#!/usr/bin/expect
spawn ssh 10.0.0.151
expect {
       "yes/no" { send "yes\n";exp_continue }
       "password" { send "123456\n" }
}
interact

##################################################

#!/usr/bin/expect
set ip 10.0.0.151
set user root
set password 123456
set timeout 10
spawn ssh $user@$ip
expect {
       "yes/no" { send "yes\n";exp_continue }
       "password" { send "$password\n" }

}
interact

##################################################

#!/usr/bin/expect
set ip [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
set timeout 10
spawn ssh $user@$ip
expect {
       "yes/no" { send "yes\n" ;exp_continue }
       "password" { send "$password\n" }

}
expect "#" { send "useradd hha\n" }
send "exit\n"
expect eof
#使用expect -f expect1执行脚本,或者给执行权限后./expect1执行。

shell脚本:


[10:43:08 root@centos8 ~]#cat expect4
#!/bin/bash
network=10.0.0
user=root
password=123456
iplist="
151
"


for ID in $iplist;do
ip=$network.$ID

expect <<fff
spawn ssh $user@$ip
set timeout 3
expect {
       "yes/no" { send "yes\n";exp_continue }
       "password" { send "$password\n" }
}
expect "#" { send "useradd hhh\n" }
expect eof
fff
done
#使用bash expect4,或给执行权限后./expect4运行脚本

 

标签:脚本,shell,send,expect,yes,password,user
From: https://www.cnblogs.com/tanll/p/17746198.html

相关文章

  • 编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输
    for方法:[14:20:07root@centos8~]#catping_for.sh#!/bin/bash​#================================================================# Copyright(C)2021IEucdInc.Allrightsreserved.## 文件名称:ping_for.sh# 创建者:TanLiang# 创建日期:2021年10月17日# ......
  • 02-Shell变量
    1.Shell变量1.1Shell变量的介绍变量用于存储管理临时的数据,这些数据都是在运行内存中的.1.2变量类型系统环境变量自定义变量特殊符号变量2.系统环境变量2.1介绍系统环境变量是系统提供的共享变量.系统环境变量是linux系统加载Shell的配置文件中定义的变量共享......
  • 01-Shell脚本入门
    1.介绍1.1疑问linux系统是如何操作计算机硬件CPU,内存,磁盘,显示器等?答:使用linux的内核操作计算机的硬件1.2Shell介绍通过编写Shell命令发送给linux内核去执行,操作的就是计算机硬件.所以Shell命令是用户操作计算机硬件的桥梁Shell是命令,类似于windows系统Dos命令......
  • 超能组合:python 的开发效率 + go 的并发 + shell 的短小精悍
    工具思维:利用合适的工具做合适的事情,然后合理地加以组合。在”谈谈程序员应当具备的技术思维“一文中谈到了工具思维。本文对工具思维作一发挥运用。批量下载图片程序员总是有点”美图“爱好的。由于程序员通常又是比较”懒惰“的(可没有那个耐心和体力去一页页点开再点击按......
  • Python爬虫源码,Behance 作品图片及内容采集爬虫附工具脚本!
    Behance网站是设计师灵感必备网站这个网站跟国内的网站,花瓣网很像,甚至可以说花瓣学习了它不少,在瀑布流网页的展示上也有很多相似之处。前面本渣渣就分享过花瓣网图片采集爬虫,感兴趣可以移步查看,现在还能用!【爬虫】花瓣图片爬虫,Python图片采集下载源码Python爬虫tkinter,花瓣工业设......
  • 数据库备份和Shell基础测试及AWK(运维)
    第一题:简述一下如何用mysql命令进行备份和恢复,请以test库为例,创建一个备份,并再用此备份恢复备份备份步骤:备份test库:使用mysqldump命令备份test库,并将备份写入一个.sql文件中。命令示例:mysqldump-u用户名-p密码test>backup.sql恢复的步骤:恢复备份:使用mysql命令将备份文件中的......
  • Linux实用运维脚本分享
    Linux实用运维脚本分享......
  • QT5.14: 打开文件出错warning: format '%s' expects argument of type 'char*'
    错误提示信息:D:\Demo\QT5.14\CH5\CH501\imgprocessor.cpp:158:warning:format'%s'expectsargumentoftype'char*',butargument2hastype'QChar*'[-Wformat=]printf("fileName:%s\n",filename.data());原函数代码:......
  • 站群通过bat脚本批量绑定ip
    以绑定192.168.1.192/26为例 先通过计算ip地址 获取到第一个和最后一个可用ip尾数为193和254,以及掩码255.255.255.192,并注意服务器上网络连接名称,加入以下批处理脚本保存为ip.bat运行即可。 @echo offfor /l %%a in (193,1,254) do netsh interface ip add a......
  • cmd powershell 命令行窗口保存更多的历史记录输出行数,防止上面的输出被自动删除
    布局-屏幕缓冲区大小-高度调大或者是用https://stackoverflow.com/questions/71099275/can-view-the-history-of-powershell-outputs这个办法自动保存到一个txt文件中参考https://stackoverflow.com/questions/1740876/more-lines-in-command-window ......