本人所有系统为ubuntu8.04今天写了个小程序,实现自动登陆
默认系统不带expect,要自己安装
1。安装expect
root@sunsyk-desktop:~/桌面# apt-get install expect
         正在读取软件包列表... 完成
         正在分析软件包的依赖关系树      
         读取状态信息... 完成
2。验证
root@sunsyk-desktop:~/桌面# exp
         expand  expect  expiry  export  expr   
root@sunsyk-desktop:~/桌面# expect
         expect1.1>
3。说明安装好了,我们进入到/home下
root@sunsyk-desktop:/home# vim ssh.sh
4。写个shell
#!/usr/bin/expect -f
set timeout 30
set host [ lindex $argv 0 ]
spawn ssh $host
expect "password:"
send "sun163\r"
interact
5。执行一下
root@sunsyk-desktop:/home# chmod 755 ssh.sh
root@sunsyk-desktop:/home# ./ssh.sh 192.168.1.6
spawn ssh 192.168.1.6
root@192.168.1.6's password:
Last login: Tue Dec 30 10:18:41 2008 from 192.168.1.163
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1C:C0:4E:B1:99 
          inet addr:192.168.1.6  Bcast:172.20.55.255  Mask:255.255.248.0
          inet6 addr: fe80::21c:c0ff:fe4e:b199/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:567123 errors:0 dropped:0 overruns:0 frame:0
          TX packets:416969 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
这已经登陆成功了,现在就在192.168.1.6机器上了,你可以做任何事了

两个小例子

例子1,批量拷贝

[root@moedb210 src]# cat ip.txt
192.168.1.170
192.168.1.210

[root@moedb210 src]# cat expect.sh
#!/usr/bin/expect -f
set ip [exec cat ip.txt]
foreach i $ip {
spawn scp "ip.txt" "root@$i:/mnt/"
set timeout 20
expect "password:"
exec sleep 10
send "password\r"
interact
}

例子2,批量检查

[root@moedb210 src]# cat checkhostname.sh
#!/usr/bin/expect -f
set ip [exec cat ip.txt]
foreach i $ip {
spawn ssh "root@$i"
set timeout 20
expect "password:"
exec sleep 10
send "password\r"
#interact
expect "#"
send "hostname\r"
#send "exit\r"
expect eof
}

转载于:https://blog.51cto.com/qhd2004/169731

expect无密码登陆相关推荐

  1. 普通用户无密码登陆(运维面试题)

    在A机器建立账户x,在B机器建立账户y,实现用x账户无密码登陆y账户 (做练习都是root账号,用普通账户之间的ssh无非就是拷公钥的时候,加个账户,跟用root没什么区别) 命令行实现 比如:对面账 ...

  2. Linux配置SSH无密码登陆

    可以使用"公钥私钥"认证的方式来进行ssh登录. 所谓 "公钥私钥"认证方式,就是首先在客户机上创建一对公钥和私钥,公钥文件:~/.ssh/id_rsa.pub ...

  3. 烂泥:学习ssh之ssh无密码登陆

    本文首发于烂泥行天下 最近一个月没有写过文章,主要是刚刚换的新工作.新公司服务器OS使用的是ubuntu server版,和以前熟悉的centos还是有很多不同的. 刚好这几天有时间,也是工作需要,学 ...

  4. ubuntu root下的无密码登陆

    2019独角兽企业重金招聘Python工程师标准>>> 以前都是两台机器在普通用户之间无密码登陆,今天两台机器都是root下配置无密码登陆,方法很简单,写下过程: 注:以root下节 ...

  5. ssh 配置:在 Linux 中 ssh 配置无密码登陆完整步骤以及易错点分析

    文章目录 前言 一.什么是 SSH? 二.ssh 配置无密码登陆原理 三.Linux 系统上生成 SSH 密钥和公钥 四.登录验证 总结 前言 对于 Hadoop 的伪分布式和全分布式而言,Hadoo ...

  6. CentOS 6.3用ssh无密码登陆其它主机

    我们现有4台计算机A.B.C.D,现要求A能够无密码登陆到B.C.D,步骤如下: 在A.B.C.D主机上安装ssh,即 yum install ssh 在A.B.C.D上安装ssh客户端 yum in ...

  7. CentOS-5.6-x86_64 配置SSH无密码登陆

    昨天弄oracle的备份,脚本中用到了scp,需要把服务器的数据cp到备份服务器上,需要配置oracle数据库服务器可以通过db_backup用户无密码登陆到备份服务器上,随便把ssh无密码登陆的配置 ...

  8. linux 关闭防火墙 及mysql 无密码登陆

    Linux中怎么去关闭防护墙和mysql的无密码登陆及修改密码,做为一个自己参考的记录 CentOS 防火墙关闭 关闭防火墙命令:systemctl stop firewalld.service 开启 ...

  9. 大规模集群自动化部署SSH无密码登陆

    大家需要在每个节点上提前装好"expect"工具 expect的使用请看我的另一篇文章: http://tianxingzhe.blog.51cto.com/3390077/168 ...

最新文章

  1. CentOS6.5下Gunicorn+Django+nginx部署的过程
  2. 大学计算机基础知识点_南京航空航天大学计算机科学与技术学院829计算机专业基础考研...
  3. ThinkingRock:最好的GTD软件
  4. 物联网无线连接服务发布 阿里云全新产品,物联网设备专用的物联网卡与流量套餐...
  5. [转载]jquery cookie的用法
  6. [翻译] Canvas 不用写代码的动画
  7. 安卓系统的电视机_天猫魔盒强刷机教程,把天猫魔盒刷成安卓系统教程?
  8. 免费下载百度文库文档、免注册、免登录、免财富值 - 帮手网-云下载
  9. Redis单线程模型
  10. html表格上下居中 w3c,HTML中怎么把表格居中
  11. git分支主干同步命令
  12. CAD网页Web端显示开发为什么要以WebGIS的思路来开发?
  13. css3实现0.5px边框、圆角渐变色边框+圆角渐变色背景
  14. 球差透射电镜测试服务的收费标准和样品要求
  15. 干谷净重694.27公斤 滦南国稻种芯-517功能性苦瓜稻北方旱作
  16. 初识Spring Cloud 之 五大神兽
  17. 【财富空间】中国AI应用最新白皮书:金融、汽车、医疗和零售将受AI影响最大,或为参与者带来19000亿增益价值
  18. 按住ctrl键不能批量选_如何在不按住Ctrl键的情况下遵循Word 2013中的超链接
  19. 游戏中支线任务的设计Pt.1: 如龙0——海量支线搭建起来的不夜城
  20. IDC机房ESXi5.0误删除虚拟机的数据恢复过程

热门文章

  1. 六大重点工程构筑兰州大数据产业
  2. 阿里云 mysql 无缘无故挂掉
  3. 采用TurboGate邮件网关防止企业邮箱被盗用
  4. iOS 之 事件响应者链
  5. 录入键盘字母输入并将小写变为大写
  6. 程序员的量化交易之路(1)----规划开篇
  7. lua table.sort的bug
  8. 瘦了!光荣!都是忙工作忙的!
  9. 管理的最高境界:残缺中的和谐
  10. pytest架构 python_Pytest+Allure接口自动化