近日,公司在跳板机前架设了堡垒机,以防止ssh攻击,但这带来一个问题,我们平常直接ssh跳板机,可以直接使用scp来上传或下载跳板机数据到本地

架设堡垒之后经常使用的scp工具不好用了

于是本期就来解决跨堡垒机实现scp问题,解决方案同样适用阿里云子账号实现

常见堡垒-跳板-ECS结构拓扑图:

堡垒机、跳板机、服务器处于相同网段,可以直接内网访问,只留下堡垒机一个出口供外部使用

在上述拓扑中,本地和堡垒机实现了ssh便捷登录(普通堡垒机只需要保存本地公钥即可,阿里云堡垒机需配置子账号认证)

堡垒机和跳板机实现了ssh便捷登录,我们假设本地登录堡垒机ssh信息如下:

堡垒机开放ssh端口:60022

堡垒机域名:xxxxxx-public.bastionhost.aliyuncs.com

堡垒机IP:47.104.69.199

普通堡垒机登录:
admin@AdmindeMacBook-Pro-3 ~: ssh -p 60022 root@47.104.69.199
阿里云堡垒机登录:(dongxixi为子账号)
 admin@AdmindeMacBook-Pro-3 ~: ssh -p 60022 dongxixi@xxxxxx-public.bastionhost.aliyuncs.com 

通过以上命令我们可以轻松登录堡垒机(普通堡垒机直接登录,阿里云堡垒机需要继续输入子账号密码和MFA code)

我们假设跳板机ssh信息如下(只允许内网访问):

跳板机开放ssh端口:22

跳板机IP:47.105.21.22

当我们站在堡垒机上时,可以通过以下命令直接登录跳板机

root@47.104.69.199 ~:ssh 47.105.21.22

当上述流程都ok时,我们就开始配置本地ssh,实现跨堡垒机scp了

进入本地ssh配置目录:

admin@AdmindeMacBook-Pro-3 ~: cd ~/.ssh/

编辑config文件

admin@AdmindeMacBook-Pro-3 ~: vi config

如果本地存在config文件则追加,不存在则新建即可,以下配置根据自己实际填写

# 堡垒机配置 Host为别名 HostName可以是解析后的域名,也可以是ip,User为登录的用户
Host bastion
HostName xxxxx-public.bastionhost.aliyuncs.com # 或 47.104.69.199
User dongxixi
Port 60022 # 跳板机配置
Host jumper
HostName 47.105.21.22
User root
Port 22 Host jumper
ProxyCommand ssh -A -q bastion -W %h:%p

esc + wq!保存退出

接下来测试配置是否成功

# 上传测试,如果堡垒机是阿里云堡垒机,回车后会提示输入子账号密码和MFA code
admin@AdmindeMacBook-Pro-3 ~: scp -r ~/Downloads/test.txt jumper:~/

# 执行后如果没有报错,自行上跳板机查看是否存在相应文件

# 下载测试,
如果堡垒机是阿里云堡垒机,回车后会提示输入子账号密码和MFA code
admin@AdmindeMacBook-Pro-3 ~: scp -r jumper:~/test.txt ~/Downloads

多堡垒机、多跳板可在上述方案基础上继续改造!

谢谢!

本地Mac通过堡垒机代理实现跨堡垒机scp问题的更多相关文章

  1. hadoop学习;安装jdk,workstation虚拟机v2v迁移;虚拟机之间和跨物理机之间ping网络通信;virtualbox的centos中关闭防火墙和检查服务启动

    JDK 在Ubuntu下的安装 与 环境变量的配置 前期准备工作: 找到  JDK 和 配置TXT文件  并拷贝到桌面下  不是目录 而是文件拷贝到桌面下 以下的命令部分就直接复制粘贴就能够了 1.配 ...

  2. windows环境下 nginx+iis 反向代理解决跨域问题

    项目基本完成,是时候花点时间整理一下最近的姿势了 1 什么是跨域? 网上对于跨域的概念会有大篇幅的文章去解释,似乎有点玄乎,初学者很容易对这个概念产生恐惧,跨域其实很简单,其实只要知道一点,无法跨域访 ...

  3. VUE前端项目配置代理解决跨域问题

    VUE前端项目配置代理解决跨域问题 问题如下,经常在本地调试接口出现这种问题 解决方式1:Chrome 的扩展插件 以前使用Chrome 的扩展插件,但是有时候还是会出现莫名其妙的问题. 需要梯子才行 ...

  4. nginx反向代理实现跨域请求

    nginx反向代理实现跨域请求 跨域请求可以通过JSONP实现,缺点是需要修改被请求的服务器端代码进行配合,稍显麻烦通过在自己服务器上配置nginx的反向代理,可以轻松实现跨域请求 思路 示例服务器A ...

  5. web代理进行跨域访问

    通过web代理进行跨域访问,http请求返回超时的问题定位   [现象] 在ajax通过web代理跨域访问时,http第一次登陆时正常,但是第二次再下发其他命令的时候总是返回 java.net.Soc ...

  6. Coding theano under remote ubuntu server from local Mac (在本地mac机器上,写、跑、调试、看-远程ubuntu上的theano代码)

    本人是奇葩,最近鼓捣了一套在mac上coding远程ubuntu上的theano代码的东东,记之以期造福后人. Overview: 下图是我的编程环境和网络环境 我期望能在本地mac机器上对远程的ub ...

  7. nginx反向代理解决跨域

    nginx作为反向代理服务器,就是把http请求转发到另一个或者一些服务器上.通过把本地一个url前缀映射到要跨域访问的web服务器上,就可以实现跨域访问.对于浏览器来说,访问的就是同源服务器上的一个 ...

  8. nginx反向代理解决跨域问题

    跨域:浏览器从一个域名的网页去请求另一个域名的资源时,域名.端口.协议任一不同,都是跨域 . 下表格为前后端分离的域名,技术信息:   域名 服务器 使用技术 前端 http://b.yynf.com ...

  9. VUE线上通过nginx反向代理实现跨域

    1.NGINX反向代理实现跨域 VUE代码中配置参考上一篇文章 nginx配置,红色框线内: 代码: location /list { proxy_set_header X-Real-IP $remo ...

随机推荐

  1. Raft算法系列教程1:Leader选举

    1.服务器的三种角色 Raft算法中服务器主要分为三种角色:Leader.Follower.Candidate,并且三种角色相互独立,也就是服务器在同一时间内只可能扮演其中一种角色. Leader:用 ...

  2. 又到期末了,为什么学完C语言觉得好像没学一般?复习资料来一份

    不少同学从Hello world学到文件操作之后,回顾感觉会又不会? 学会了又感觉没学会?这种不踏实.模糊虚无的感觉? 原因在于编程不同于理论学科,你听懂和理解了理论就可以运用,比如历史地理,看完书, ...

  3. idea 【Maven Projects # Profiles】问题记录

    今天启动接一个新项目,然后项目启动后发现启动的环境和预想的不一致,查看 pom 文件确认自己是 dev 无误之后,但是启动的就是 test 环境. 问题 发现了启动环境不对不对之后,自己试了一种解决办 ...

  4. 解决WebStorme点击谷歌浏览器图标无反应问题

    解决思路: 在设置中重新设置谷歌浏览器路径,一定要选中到谷歌浏览器安装目录的Chrome.exe文件,选中后记得apply. 设置步骤: file->seeting->tools-> ...

  5. BPF的可移植性和CO-RE (Compile Once – Run Everywhere)

    BPF的可移植性和CO-RE (Compile Once – Run Everywhere) 在上一篇文章中介绍了提高socket性能的几个socket选项,其中给出了几个源于内核源码树中的例子,如果 ...

  6. (class: org/apache/jasper/runtime/PageContextImpl, method: getELResolver signature: ()Ljavax/el/ELResolver;) Incompatible argument to

    网上大多都说是jsp版本原因: 引用: .............................................. ................................. ...

  7. 盘点 Java 开发 2020 年发生的几件大事,你必须得知道!

    2021 年了,在过去的一年 Java 软件开发行业都发生了哪些重大事件呢? 这篇栈长带大家回顾一下,其实在元旦的<滚蛋吧,2020>也略有介绍,这篇就更加详细的总结一下. 1.Java ...

  8. mysql 双主复制 windows10

    1. 整体思路 MySQL开始复制是很简单的过程,不过,根据特定的应用场景,都会在基本的步骤上有一些变化.最简单的场景就是一个新安装的master和slave,整个过程如下:(1)在每个服务器上创建一 ...

  9. ElasticSearch教程——自定义分词器(转学习使用)

    一.分词器 Elasticsearch中,内置了很多分词器(analyzers),例如standard(标准分词器).english(英文分词)和chinese(中文分词),默认是standard. ...

  10. ssh问题之复盘

    一.问题发生.排查以及解决 某天H博士在登录B服务器时发现一个严重的问题,问题是H博士在执行脚本出现一个异常,这个异常是过去我执行脚本只需输入一次密码,现在要输入五六次,只有输入五六次后才能正确执行完 ...