本地Mac通过堡垒机代理实现跨堡垒机scp问题
近日,公司在跳板机前架设了堡垒机,以防止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问题的更多相关文章
- hadoop学习;安装jdk,workstation虚拟机v2v迁移;虚拟机之间和跨物理机之间ping网络通信;virtualbox的centos中关闭防火墙和检查服务启动
JDK 在Ubuntu下的安装 与 环境变量的配置 前期准备工作: 找到 JDK 和 配置TXT文件 并拷贝到桌面下 不是目录 而是文件拷贝到桌面下 以下的命令部分就直接复制粘贴就能够了 1.配 ...
- windows环境下 nginx+iis 反向代理解决跨域问题
项目基本完成,是时候花点时间整理一下最近的姿势了 1 什么是跨域? 网上对于跨域的概念会有大篇幅的文章去解释,似乎有点玄乎,初学者很容易对这个概念产生恐惧,跨域其实很简单,其实只要知道一点,无法跨域访 ...
- VUE前端项目配置代理解决跨域问题
VUE前端项目配置代理解决跨域问题 问题如下,经常在本地调试接口出现这种问题 解决方式1:Chrome 的扩展插件 以前使用Chrome 的扩展插件,但是有时候还是会出现莫名其妙的问题. 需要梯子才行 ...
- nginx反向代理实现跨域请求
nginx反向代理实现跨域请求 跨域请求可以通过JSONP实现,缺点是需要修改被请求的服务器端代码进行配合,稍显麻烦通过在自己服务器上配置nginx的反向代理,可以轻松实现跨域请求 思路 示例服务器A ...
- web代理进行跨域访问
通过web代理进行跨域访问,http请求返回超时的问题定位 [现象] 在ajax通过web代理跨域访问时,http第一次登陆时正常,但是第二次再下发其他命令的时候总是返回 java.net.Soc ...
- Coding theano under remote ubuntu server from local Mac (在本地mac机器上,写、跑、调试、看-远程ubuntu上的theano代码)
本人是奇葩,最近鼓捣了一套在mac上coding远程ubuntu上的theano代码的东东,记之以期造福后人. Overview: 下图是我的编程环境和网络环境 我期望能在本地mac机器上对远程的ub ...
- nginx反向代理解决跨域
nginx作为反向代理服务器,就是把http请求转发到另一个或者一些服务器上.通过把本地一个url前缀映射到要跨域访问的web服务器上,就可以实现跨域访问.对于浏览器来说,访问的就是同源服务器上的一个 ...
- nginx反向代理解决跨域问题
跨域:浏览器从一个域名的网页去请求另一个域名的资源时,域名.端口.协议任一不同,都是跨域 . 下表格为前后端分离的域名,技术信息: 域名 服务器 使用技术 前端 http://b.yynf.com ...
- VUE线上通过nginx反向代理实现跨域
1.NGINX反向代理实现跨域 VUE代码中配置参考上一篇文章 nginx配置,红色框线内: 代码: location /list { proxy_set_header X-Real-IP $remo ...
随机推荐
- Spring Data JPA 整合Spring
1.1 Spring Data JPA 与 JPA和hibernate之间的关系 JPA是一套规范,内部是有接口和抽象类组成的.hibernate是一套成熟的ORM框架,而且Hibernate实现 ...
- php代码审计小技巧
1.file_put_contents()函数:众所周知此函数是将一个字符串写入至文件中. 看到此函数说明当传入数据为数组时,会被PHP强制转换为字符串,因此会绕过正则达到getshell的目的. & ...
- Python 学习笔记(下)
Python 学习笔记(下) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(下) 函数设计与使用 形参与实参 ...
- 精尽Spring MVC源码分析 - ViewResolver 组件
该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...
- [C#] (原创)进度等待窗口(附:自定义控件的使用)
一.前言 技术没有先进与落后,只有合适与不合适. 在程序当中,经常有耗时较长的操作,为了给用户更好的体验,就需要给用户一个及时的反馈,这种时候就需要用到进度等待窗口. 实现进度等待窗口的技术有很多,比 ...
- CCNP之OSPF实验报告
OSPF实验报告 一.实验要求 1.R4为ISP,其上只能配置IP地址:R4与其它所有直连设备间使用公有IP2.R3--R5/6/7为MGRE环境,R3为中心站点3.整个OSPF环境IP地址为172. ...
- Java通过IO流输出文件目录
//通过IO流输出文件目录,不同级的目录之间用*间隔 1 package com.fjnu.io; 2 3 import java.io.File; 4 5 public class dicOut { ...
- 前端网页打印插件print.js(可导出pdf)
在前端开发中,想打印当前网页的指定区域内容,或将网页导出为多页的PDF,可以借助print.js实现,该插件轻量.简单.手动引入.不依赖其他库.示范项目github:https://github.co ...
- Scanner详解
java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入 1)public static void main(String[] args) { S ...
- hive行转列,列转行
实例一:来源: https://www.cnblogs.com/kimbo/p/6208973.html 行转列 (对某列拆分,一列拆多行) 使用函数:lateral view explode(spl ...