iterm2跳板机自动登录脚本

2023-11-10

前言

现在要想访问公司服务器都必须通过跳板机再跳到目标服务器,这么做是运维人员为了安全性考虑和可以高效管理公司庞大的服务器集群。但是我们都知道安全性提高后必定降低我们日常工作的效率,必须先登录到跳板机,再选目标服务器,每次访问服务器都增加了半分钟的操作成本,作为最会偷懒的我来说写个跳板机自动登录脚本是非常必要的。

expect 脚本

我们可以用expect脚本来实现自动化交互任务,不需要人为干预。如果不用expect脚本我们登录跳板机需要人机交互来输入执行命令,而使用expect脚本可以根据程序提示模拟标准输入提供给程序,从而实现自动化交互执行。

#!/usr/bin/expect

#等待30秒无操作退出
set timeout 30

# use ssh login your jump server
spawn ssh #your jump server  eg: username@ip#
# start expect 
expect {
	# simulate input jump server password
	"Password:"
	{send "your password\n";exp_continue}
	# simulate select server group
	"Select group:"
	# this case select 0 group
	{send "0\n";exp_continue}
	# simulate select page
	"Select page:"
	{send "0\n";exp_continue}
	"Select server:"
	# serverIp that you input
	{send "[lindex $argv 0]";exp_continue}
	"Input account:"
	# account parameter
	{send "[lindex $argv 1]\n";exp_continue}
	#simulate input server's password
	"[lindex $argv 1]@[lindex $argv 0]'s password:"
	{send "[lindex $argv 2]\n"}

}
interact

以上就是模拟通过跳板机访问服务器的expect脚本。

iterm2配置脚本

请添加图片描述
配置好脚本将脚本放到/usr/local/bin目录下。

解决lrzsz工具配合expect脚本失效问题

你需要使用shell脚本调用expect脚本,如下:

#!/bin/sh

export LC_CTYPE=en_US
export /usr/local/bin/login.sh $1 $2 $3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iterm2跳板机自动登录脚本 的相关文章

  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • 如何为 Linux 桌面条目文件指定带有相对路径的图标?

    对于我的一个 Linux 应用程序 我有应用程序二进制文件 一个 launcher sh 脚本 针对 LD LIBRARY PATH 和一个 desktop 文件 所有这些都位于同一文件夹中 我想使用图标的相对路径而不是绝对路径 我试过了
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • 就分页分段内存而言的程序寿命

    我对 x86 Linux 机器中的分段和分页过程有一个令人困惑的概念 如果有人能澄清从开始到结束所涉及的所有步骤 我们将很高兴 x86 使用分页分段内存技术进行内存管理 任何人都可以解释一下从可执行的 elf 格式文件从硬盘加载到主内存到它
  • Linux 上的 Pervasive ODBC 错误 [01000][unixODBC][驱动程序管理器]无法打开 lib '/usr/local/psql/lib/odbcci.so':找不到文件

    我正在尝试让 Pervasive v10 客户端 ODBC 在 Centos 6 上运行 据我所知 没有 64 位 ODBC 客户端 因此我必须使用 32 位客户端 我终于成功安装了它 但尝试使用时出现以下错误 isql v mydsn 0
  • 如何阻止ubuntu在使用apt安装或更新软件包时弹出“Daemons using outdatedlibraries”? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我最近新安装了 Ubuntu 22 04 LTS 我发现每次使用 apt 安装或更新软件包时 它都会询问我有关Which servic
  • 从 ttyUSB0 写入和读取,无法得到响应

    我对 Linux tty 不太有经验 我的环境是带有丰富 USB 串行的 Raspbian 什么有效 stty F dev ttyUSB0 38400 cu l dev ttyUSB0 s 38400 cu to dev ttyUSB0作品
  • 尽管 if 语句,Visual Studio 仍尝试包含 Linux 标头

    我正在尝试创建一个强大的头文件 无需更改即可在 Windows 和 Linux 上进行编译 为此 我的包含内容中有一个 if 语句 如下所示 if defined WINDOWS include
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • 从 Xlib 转换为 xcb

    我目前正在将我的一个应用程序从 Xlib 移植到 libxcb 但在查找有关我有时使用的 XInput2 扩展的信息时遇到了一些麻烦 libxcb 中有 XInput2 实现吗 如果是的话 在哪里可以找到文档 目前我在使用此功能时遇到问题
  • Bash - 在与当前终端分开的另一个终端中启动命令的新实例

    我有一个简单的 bash 脚本 test sh 设置如下 bin bash args if args 0 check capture then watch n 1 ls lag home user capture0 watch n 1 ls
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • Linux 为一组进程保留一个处理器(动态)

    有没有办法将处理器排除在正常调度之外 也就是说 使用sched setaffinity我可以指示线程应该在哪个处理器上运行 但我正在寻找相反的情况 也就是说 我想从正常调度中排除给定的处理器 以便只有已明确调度的进程才能在那里运行 我还知道
  • linux下如何从文本文件中获取值

    我有一些文本格式的文件 xxx conf 我在这个文件中有一些文本 disablelog 1 当我使用 grep r disablelog oscam conf 输出是 disablelog 1 但我只需要值1 请问你有什么想法吗 一种方法
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 为金融而生的区块链Injective(INJ)

    Injective背景 Injective 是 Binance Labs 2018 年第一期孵化的八个项目之一 已经获得了众多机构的支持 包括全球顶尖的加密货币风险投资公司之一 Pantera Capital Injective 的核心团队
  • 【蓝桥杯学习笔记】2. 最大公约数和最小公倍数

    系列文章目录 蓝桥杯学习笔记 1 入门基本语法及练习题 文章目录 系列文章目录 前言 一 最大公约数 二 最小公倍数 总结 前言 蓝桥本笔记 从入门到放弃 本片文章使用Python语言编写 Now is better than never
  • openEuler软件包加固项目笔记

    项目概要 使用mugen框架对openEuler操作系统的软件包rubygem bacon进行测试 记录issue 涉及到一些保密性 我有些东西不便细述 因此设置了查看权限 一 申请云服务器 openEuler操作系统安装 说明 安装ope
  • Vue React实现Anchor锚点组件

    Vue实现 使用 页面引入 import Anchor from components common Anchor
  • 对于C++中的extern关键字用法的理解

    今天在学习Effective C 时遇到了extern 关键字 这个关键字我不熟悉 因此参考csdn上一位大佬的博客 总结出如下笔记 一 首先 明确一点 即 extern是关于声明的关键字 变量的声明有两种情况 1 一种是需要建立存储空间的
  • Python标准模块--logging

    1 logging模块简介 logging模块是Python内置的标准模块 主要用于输出运行日志 可以设置输出日志的等级 日志保存路径 日志文件回滚等 相比print 具备如下优点 可以通过设置不同的日志等级 在release版本中只输出重
  • 【经典游戏】坦克大战 Unity2D项目实战(保姆级教程)

    主要内容 1 Unity3D引擎中的基础设置 2 2D场景的搭建 预制体制作 3 2D动画的制作 4 图片图集的有关知识 5 碰撞器 触发器 碰撞检测与触发检测 6 2D游戏渲染的一些知识 7 敌人AI的编写 8 UGUI有关内容 场景切换
  • tomcat8.5 启动控制台日志乱码

    使用IDEA在本地启动tomcat进行调试时 发现日志 页面会出现乱码的情况 通过以下方式解决问题 以下操作全部在Windows10系统中 直接启动tomcat会出现控制台汉字乱码的问题 这是因为 tomcat启动默认编码 UTF 8 wi
  • Java+MysQL:Java连接MysQL及进行简单的查询操作

    最近想学习一下Java操作MySQL等数据库的教程 但是把整个网络翻遍也没找到令人满意的教程 各种报错 所以就决定 把自己的学习过程记录下来和大家分享 既可以作为日后复习巩固之用 又可以帮到需要的人 希望可以帮助以后想学习的朋友们少走一些弯
  • Android通知发送原理之Framework实现(基于Android 10)

    前言 这是一个基于 Android 10 源码 全面分析 Android通知系统实现原理 的系列 这是第三篇 全系列将覆盖 这一篇我们将全面分析通知发送在框架层 服务端 的一系列处理 说明 下文出现的简写 NM gt Notificatio
  • 关于组播239.255.255.250

    网络很慢 用SNIFFER监控 观察到内网一个IP10 192 68 66与239 255 255 250有着大量的数据传送 占据大量带宽 各位同仁有没有遇到类似情况 小虾初步怀疑是有人在网内看网络电视导致的 曾经在一个论坛里看见说是一个播
  • Spring Boot项目结构推荐

    Spring Boot框架本身并没有对项目结构有特别的要求 但是按照最佳实践的项目结构可以减少可能会遇见的坑 尤其是Spring包扫描机制的存在 也可以免去不少特殊的配置工作 典型示例一 root package结构 com lyd exa
  • HTML5 WebSocket的入门使用

    HTML5 WebSocket 长连接 客户端与服务端可以保持长时间的通信 一 具体步骤 1 创建一个websocket实例 连接远程服务器并且需要一个连接服务器的url let baseUrl ws echo websocket org
  • Flutter 图表控件使用笔记

    Flutter 图表控件使用笔记 最近有图表绘制需要 记录下现有的Flutter主流实现方式 原文链接 https blog csdn net weixin 44259356 article details 105147636 flutte
  • 数据库复习(4) 实体关系模型

    实体集 Entity Sets 是实际存在的事物 可以是抽象的 具有属性 attributes 实体集是具有共同性质的同类实体的集合 实体集的属性类型划分 简单的和复合的 conposite 如名字等等 单值的 多值的 如电话号码等 直接的
  • (规定时间过桥问题)A、B、C、D 四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时 1、2、5、10 分钟

    问题描述 A B C D 四个人 要在夜里过一座桥 他们通过这座桥分别需要耗时 1 2 5 10 分钟 只有一支手电 并且同时最多只能两个人一起过桥 请问 如何安排 能够在17分钟内这四个人都过桥 解答思路 核心思想 过桥需要手电 每次让相
  • STM32学习——GPIO

    GPIO就是通用的输入输出端口 通俗的说就是单片机的一些引脚 这些引脚可以控制LED灯 蜂鸣器也可以作为按键输入 ADC采样等 从而实现STM32单片机和外部硬件之间的连接和数据交互 在STM32中以STM32F103C8T6为例 其GPI
  • # `CSP_J_2021` 第一轮认证题

    一 单选题 1 以下不属于面向对象程序设计语言的是 A C B Python C Java D C 2 以下奖项与计算机领域最相关的是 A 奥斯卡奖 B 图灵奖 C 诺贝尔奖 D 普利策奖 3 目前主流的计算机储存数据最终都是转换成 数据进
  • CSS的clip-path属性使用

    前言 clip path CSS 属性使用裁剪方式创建元素的可显示区域 区域内的部分显示 区域外的隐藏 基本语法 clip path clip source basic shape geometry box none 属性说明 clip s
  • iterm2跳板机自动登录脚本

    前言 现在要想访问公司服务器都必须通过跳板机再跳到目标服务器 这么做是运维人员为了安全性考虑和可以高效管理公司庞大的服务器集群 但是我们都知道安全性提高后必定降低我们日常工作的效率 必须先登录到跳板机 再选目标服务器 每次访问服务器都增加了