首页 > 其他分享 > expect脚本实现ssh自动登录远程服务器

expect脚本实现ssh自动登录远程服务器

时间:2023-05-10 23:25:59浏览次数:34  
标签:脚本 命令 SSH 服务器 远程 ssh expect

使用 expect 脚本可以实现 SSH 自动登录远程服务器。下面是一个简单的示例:

首先,需要安装 expect 软件包,可以在 Ubuntu 或其他 Linux 发行版中使用以下命令安装:

1 sudo apt-get update
2 sudo apt-get install expect

然后,编写 expect 脚本,该脚本将模拟 SSH 连接远程服务器并登录。以下是一个简单的示例脚本:

 1 #!/usr/bin/expect
 2 
 3 set timeout 10  
 4 set user "username"  
 5 set pass "password"
 6 
 7 spawn ssh [email protected]  
 8 expect "password:"  
 9 send "$pass\r"
10 
11 expect "Login successful.*Organization:"  
12 send "echo \"Welcome, $user\" | sudo -S command\r"
13 
14 expect eof  

在这个脚本中,我们使用 expect 脚本语言模拟了 SSH 连接远程服务器的过程。首先,我们设置超时时间为 10 秒,这意味着如果用户在 10 秒内没有输入密码,脚本将退出。

然后,我们设置用户名和密码,以便在连接远程服务器时进行身份验证。

接下来,我们使用 spawn 命令启动 SSH 客户端,并使用 expect 命令模拟 SSH 连接的过程。在连接成功后,我们使用 send 命令发送命令到远程服务器,然后使用 expect 命令模拟服务器响应的过程。

最后,脚本使用 eof 命令退出 expect 环境,这将关闭 SSH 连接并允许脚本继续执行其他任务。

将上述脚本保存到一个文件中,例如 auto_login.exp,并在终端中执行以下命令来测试脚本:

chmod +x auto_login.exp  
./auto_login.exp  

如果一切正常,你应该能够在终端中看到类似于以下输出:

Welcome, username  
Login successful.*Organization:  
Welcome, username  

这意味着脚本已经成功登录远程服务器。

标签:脚本,命令,SSH,服务器,远程,ssh,expect
From: https://www.cnblogs.com/jarsing/p/17389681.html

相关文章

  • 公共DNS服务器IP地址
    国内阿里IPv4223.5.5.5223.6.6.6IPv62400:3200::12400:3200:baba::1腾讯IPv4119.29.29.29百度IPv4180.76.76.76IPv62400:da00::6666114国外Google8.8.8.88.8.4.4最后编辑时间:2023年5月10日21:35:39......
  • 华为2288H V5服务器安装PVE
    获取PVE文件,存储到本地进入华为BMC管理系统点击远程控制点击HTML集成远程控制点击系统启动项点击软驱重启系统Xorg-configurecp/xorg.conf.new/etc/X11/xorg.confvi/etc/X11/xorg.confChangeDriverfrom"modeset"to"fbdev"startx余下步......
  • 主机服务器tmp目录报php病毒木马的解决方法
    Linux和Windows主机的tmp目录都是临时文件存放的目录,比如程序运行产生的临时文件和用户上传的临时文件都会在这个目录生成。有时候这个目录会产生病毒或木马程序,大部分都php病毒木马,这种情况一般是黑客利用网站程序漏洞上传了php病毒木马,或者是因为php.ini里面的upload_tmp_dir配......
  • 假设知道服务器IP,如何查询它绑定的域名?
    在一些场景中,我们往往只得到了一个IP地址,那么如何通过IP地址快速地找到它绑定的域名呢?1、IP历史解析记录输入查询的IP地址,获取IP绑定过的域名记录。ip138查询:https://site.ip138.com/2、同站/旁站查询关键词:IP反查域名、同IP网站查询、旁站查询,通过一些在线查询工具获取域名。IP反......
  • Linux系统下Samba服务器的配置
    第1步:将目录/home/media设置为允许所有用户访问,但仅允许用户mary具有修改该目录的权限。其配置步骤简述如下。第2步:将目录/var/samba/student设置为只允许student组的成员访问,student组中有stu01、stu02·····stu05,共5个成员。配置步骤简述如下。第3步:用testparm命令测试......
  • Linux系统下NFS服务器的配置
    第1步:NFS规划。1)将本地文件系统的/home/mp3目录共享,mary客户机对该目录具有读写限权,其他所有用户对该目录具有只读限权。 2)将本地文件系统的/home/vedio目录共享,192.168.21.100与192.168.21.200两个客户机对该目录具有读写限权,而192.168.21.0、24网段内的其他客户机对该目录......
  • Linux中DNS服务器的搭建
    1.DNS服务的安装2.配置主配置文件named.conf3.配置扩展配置文件named.rfc1912.zones4.配置正向解析文件sdcet.cn.zone 5.配置反向解析文件92.168.192.zone ......
  • Ubuntu服务器版 ubuntu 22.04.2 下载
    使用USB或者DVD的物理镜像安装承诺的系统安全更新至2027年4月扩展更新维护至2032年4月为企业客户提供商业支持https://cn.ubuntu.com/download/server/step1https://cn.ubuntu.com/download/server/thank-you?version=22.04.2&architecture=amd64......
  • 服务器使用中硬盘故障的常规表现
    服务器使用中硬盘故障的常规表现 服务器硬盘作为服务器的核心数据仓库,所有用户数据以及软件都存在于此,它的稳定与安全与否直接决定着服务器数据安全。服务器每时每刻都需要对数据进行记录和读取,而这个过程也对服务器的硬盘有着很大的联系,硬盘就是服务器的一个主要存储空间,存储着......
  • Linux系统下NFS服务器的配置
    第1步:NFS规划。1)将本地文件系统的/home/mp3目录共享,mary客户机对该目录具有读写限权,其他所有用户对该目录具有只读限权。 2)将本地文件系统的/home/vedio目录共享,192.168.21.100与192.168.21.200两个客户机对该目录具有读写限权,而192.168.21.0、24网段内的其他客户机对该目录......