`
beagoodboy
  • 浏览: 97032 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

使用expect脚本实现ssh自动登录

阅读更多
在shell脚本编程中,经常会有远程执行命令的需求,而要做到这一点,一种方法是使用ssh建立起主机间的信任关系,而另一种方法是使用交互式的语言自动输入密码,下面就使用expect脚本实现ssh自动登录的功能。

#!/usr/bin/expect -f
# 设置变量
set password [lindex $argv 0]
set ipaddr [lrange $argv 1]
set timeout 1
# 开启另外一个进程运行ssh登录脚本
spawn ssh root@$ipaddr
# 等待输入密码的提示符
expect "*?assword:*"
# 使用send命令发送密码
send "$password\r"
# 等待超时
expect timeout

--EOF--
分享到:
评论

相关推荐

    shell脚本实现ssh自动登录功能分享

    该脚本基于`expect`命令实现了SSH自动登录。`expect`是一个用于自动化交互式应用的工具,比如telnet、ftp、passwd、fsck等。在本场景中,`expect`被用来处理SSH登录过程中的人机交互,如确认是否继续连接、输入密码...

    centos7 ssh免密登录自动化配置脚本(ps:已测试过)

    总的来说,通过shell和expect脚本实现SSH免密登录自动化配置,可以显著提高运维效率,降低人为错误,尤其适用于大规模的服务器集群管理。不过,这种自动化也带来了一定的安全风险,因此必须谨慎使用,确保只有授权的...

    ssshHost.sh脚本中封装expect的ssh登录自动填充密码功能.sh

    在ssshHost.sh脚本中封装expect的ssh登录自动填充密码功能

    expect配置单向ssh免密码登录

    `expect`可以用来自动化SSH登录过程。创建一个名为`ssh_login.exp`的文件,包含以下内容: ```tcl #!/usr/bin/expect set timeout 30 spawn ssh user@remote_server expect "password:" send "your_password...

    linux命令expect实现ssh登陆.docx

    Expect 可以模拟用户交互,自动输入命令和参数,实现自动化登录、文件传输、数据备份等操作。下面我们将详细介绍如何使用 Expect 实现 SSH 登陆。 Expect 的安装 ---------------- Expect 软件包可以在大多数 ...

    用于shell脚本无交互的ssh自动登陆(转载)

    为了解决这一问题,这篇博文介绍了如何使用expect工具实现shell脚本中的SSH无交互自动登录。 expect工具是基于Tcl语言编写的,它能够通过自动化的方式响应程序输出的提示信息。在ssh命令执行时,expect可以用来捕获...

    使用脚本进行ssh登录服务器1

    总结来说,通过`expect`可以编写自动化SSH登录脚本,实现对多台服务器的远程管理。结合Python,我们可以创建更复杂的脚本,如批量配置SSH免密登录,提高管理效率。对于大型服务器集群,这种自动化是不可或缺的,它能...

    自动登陆ssh,批量ip脚本操作

    在实际应用中,你可能需要根据具体的项目需求来调整脚本,例如处理可能出现的错误、添加延迟以避免因频繁连接导致的服务器拒绝,或者使用expect脚本进行更复杂的交互操作。 总的来说,自动登陆SSH并进行批量IP脚本...

    Linux中使用expect脚本实现远程机器自动登录

    在这篇文章中,我们将详细介绍如何在Linux中使用expect脚本来实现远程机器的自动登录。 首先,我们需要创建一个名为`ssh_expect`的expect脚本。这个脚本的主要任务是接收三个参数:远程主机名(hostname)、用户名...

    用expect实现ssh自动登录服务器并进行批量管理的实现方法

    本文将深入讲解如何使用expect实现实现SSH自动登录服务器并进行批量管理。 首先,我们需要理解SSH(Secure Shell)协议,它是一种网络协议,用于在不安全的网络上安全地执行远程命令。SSH通常需要用户提供用户名和...

    linux-expect模拟键盘输入实现定时登录教程.zip

    为了实现定时登录,你可以将expect脚本与Linux的cron定时任务结合。打开crontab配置文件(`crontab -e`),添加一条定时任务,例如每天凌晨3点运行expect脚本: ```bash 0 3 * * * /path/to/your/login_script.sh `...

    shell脚本实现ssh-copy-id批量自动发送公钥到远程主机

    通过上述两种方法,我们可以实现使用shell脚本批量自动发送公钥到远程主机,从而实现SSH无密码登录。这种方法在管理大规模服务器环境时尤为实用,极大地提高了工作效率。在实际应用中,应根据自己的环境和需求选择...

    Linuxssh登录远程服务器 expect

    总结来说,"Linux ssh登录远程服务器 expect"是利用Expect脚本自动化Linux通过SSH协议登录远程服务器的过程,它可以高效、安全地执行远程运维任务,尤其适用于批量管理和监控大量服务器的场景。了解和掌握这一技术,...

    expect自动登录.pdf

    - 若使用Python运行Expect脚本,需要在脚本第一行指定Python解释器,如`#!/usr/bin/python`。 通过以上介绍,我们可以看到Expect是一个强大的工具,可以帮助我们自动化很多需要手工输入的交互过程,极大地提高工作...

    14.Shell脚本编程之expect.md

    通过使用 Expect,可以将原本需要手动进行的操作,例如 SSH 登录、FTP 登录等,编写成脚本自动执行。这在需要对多台服务器执行相同操作的场景下尤其有用,能够显著提高系统管理员的工作效率。 ### 2. 安装 Expect ...

    批量实现ssh无密码登录

    编写一个简单的Expect脚本来实现自动化的SSH无密码登录部署。 ```bash [root@server-202 ~]# cat << EOF > deploy_ssh.expect #!/usr/bin/expect set timeout 300 set ip_list [lrange {192.168.10.202 192.168.10....

    Shell脚本实现自动输入密码登录服务器

    Shell脚本实现自动输入密码登录服务器是自动化运维和部署中的常见需求,特别是在执行涉及权限验证的任务时,如scp文件传输或SSH远程连接。在这种情况下,使用expect工具可以帮助我们编写脚本,自动处理需要用户交互...

Global site tag (gtag.js) - Google Analytics