mac使用expect登录跳板机后的机器
两个文档
#!/usr/bin/expect -f
#连接文件名字记录
set ip [lindex $argv 0]
catch {spawn ssh 1.1.1.1}## ip地址换成自己的 expect "*Opt>*" {
send "$ip\r"
} interact
上面这个文件是复用ssh连接问题非必需
1、expect文件
#!/usr/bin/expect -f
catch {spawn ssh 1.1.1.1}#跳板机地址,如果要指定端口用户和密码建议在ssh。conf里面配置
expect "*password:*"
send "$pwd\r"
expect "*MFA*" {
set code [exec sh -c {oathtool --totp -b DdDdDdDd] ##Dd 为MFA的私钥,生成6位数字密码。
send "$code\r"}
expect "*Opt>*" {
send "2.2.2.2\r"# 后端机器地址
}
interact
文件必须
2、ssh.conf文件。配合上一个文件使用
Host 1.1.1.1
HostName 跳板机
User ls-name
Port 22000
ProxyCommand nc -x 127.0.0.1:1080 %h %p
#指定了代理端口转发,如果你内网连接是本地可以不指定
Host *## 自动复用ssh
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
需要的文件
expect(软件)
oathtool(软件)
DdDdDdDd] ##Dd 为MFA的私钥
vpn连接(是否本地)
mac使用expect登录跳板机后的机器的更多相关文章
- SecureCRT自动登录跳板机/堡垒机并连接目标机器
公司登录目标服务器,需要先登录跳板机(堡垒机),然后再登录目标机器,一共需要4.5步. MAC或LINUX机器可以写.SH脚本,那WINDOWS有没有一键登陆的方法呢? 常用的SecureCRT工具就 ...
- ansible 通过堡垒机/跳板机 访问目标机器需求实战(ssh agent forward)
一. 需求背景: 在我们使用ansible的过程中经常会遇到这样的情况,我们要管理的机器都在内网中,这些内网机器的登录都是通过跳板机或者堡垒机登录.我们的ansible机器不能直接管理到这些后端的机器 ...
- iTerm 使用expect实现自动远程登录,登录跳板机
#!/usr/bin/expect set timeout 10 spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2] exp ...
- Linux expect 使用(免密登录跳板机)
登录公司的跳板机是挺麻烦的事,首先要ssh,然后输入密码,有的公司可能还要动态密码,前两步操作都是固定的,所以能免去前两步的操作就会方便很多(线上出问题也能尽快登上去,免得紧张密码一直输错,哈哈哈). ...
- 【自动部署】Ansible 怎么通过堡垒机/跳板机 访问目标机器
Ansible机器的 /root/.ssh/config 配置如下即可:Host 目标机器IP User root IdentityFile=/root/.ssh/xxx_id_rsa ProxyCo ...
- Linux下使用expect实现跳板机自动跳转/免密登录/自动登录(转)
shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:&quo ...
- expect 实现iterm2自动加载pem登录跳板机
#!/usr/bin/expect set timeout spawn expect { "connecting (yes/no)?" { send "yes\r&quo ...
- Python:webshell 跳板机审计服务器
1.修改paramiko源码包实现 https://github.com/paramiko/paramiko/tree/1.10.1 下载源码包 unzip paramiko-1.10.1.zip p ...
- 运维堡垒机(跳板机)系统 python
相信各位对堡垒机(跳板机)不陌生,为了保证服务器安全,前面加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有 身份认证,授权,访问控制,审计等功能,笔者用Python基本实现了上述功能. A ...
- 【效率工具】SSH一键登录脚本(可一键从跳板机登录线上服务器)
说明 前阵子上线,一次性上了十个服务,一直上到凌晨才完事,期间每个服务都要先输入跳板机的登录信息来登录跳板机,然后再输入线上服务器的信息来登录线上服务器,实在是太过于麻烦,而且有些服务还有好几台服务器 ...
随机推荐
- Fabric2.x中Raft共识算法核心数据结构
一.共识算法可插拔的代码体现Chain接口 Hyperledger Fabric的共识算法是可插拔的,在代码上体现为Chain接口,所有不同的共识算法均可根据Chain接口进行具体实现,目前fabri ...
- 理论+实践,教你如何使用Nginx实现限流
摘要:Nginx作为一款高性能的Web代理和负载均衡服务器,往往会部署在一些互联网应用比较前置的位置.此时,我们就可以在Nginx上进行设置,对访问的IP地址和并发数进行相应的限制. 本文分享自华为云 ...
- 第三方模块:requests模块和openpyxl模块
1.第三方模块的下载应由 第三方模块:别人写的模块 一般情况下功能都特别强大 我们如果想使用第三方模块 第一次必须先下载后面才可以反复使用(等同于内置模块) 下载第三方模块的方式 1.pip工具 注意 ...
- JavaScript 函数所能传递的最大参数
取决于实现,取决于浏览器和操作系统标准没有规定(65535一般是有的) 来源:https://stackoverflow.com/questions/22747068/is-there-a-max-n ...
- Creo9.0 安装破解图文教程 【2022年12月29日亲测有效】
前言 creo9.0正式版是一款非常优秀的3D建模设计软件.该软件界面美观,提供了CAD 技术.模制造绘图.多实体建模.多体设计.实时仿真.框架和焊缝设计等一系列强大的辅助设计功能,通过这些功能,让用 ...
- 【DS】2.1
线性表:c++各种基础操作里面,有&没&避免错的代码额~ #include <stdio.h> void test(int &x){//没有&就没有带回主函 ...
- C语言补漏--内存管理-完结
1.内存分布 2.内存操作函数 数组清空 2. 内存拷贝函数 数组拷贝 3.内存对比 总结 堆区开辟 内存泄漏只申请不释放,导致内存空间持续增长,导致推出 内存污染向没有申请的内存空间写数据 向堆区 ...
- 三分钟使用chatGPT
ChatGPT最近也是火爆出圈,网上已被刷屏. 今天我们说一下,使用ChatGPT的方法,很简单,只需要三步: 前期确保自己能访问google,IP地址为某些国家:否则检查会报错:Services a ...
- Nacos服务调用(基于Openfeign)
在<<Nacos服务注册>>这篇文章里,我搭建了一个nacos服务中心,并且注册了一个服务,下面我们来看在上一篇文章的基础上,怎样用Openfeign来调用这个服务. 0.同上 ...
- 代码随想录算法训练营day12 | leetcode 239. 滑动窗口最大值 347.前 K 个高频元素
基础知识 ArrayDeque deque = new ArrayDeque(); /* offerFirst(E e) 在数组前面添加元素,并返回是否添加成功 offerLast(E e) 在数组后 ...