近日,公司在跳板机前架设了堡垒机,以防止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

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

谢谢!

最新文章

  1. ZeroClipboard / jquery.zclip.min.js跨浏览器复制插件使用中遇到的问题解决
  2. centos安装新版的nginx与php,添加memcahced扩展,测试memcached的json序列化
  3. 日志logger
  4. 试答卓同学的 iOS 面试题
  5. asp.net 页面上传文件控件后台代码Request.Files获取不到
  6. LeetCode_Letter Combinations of a Phone Number
  7. Oracle EBS-SQL (SYS-11):查询系统已打的PATCH.sql
  8. 创建并使用静态库(ar 命令)
  9. 从浏览器直接转跳到APP具体页面---(魔窗)MagicWindow使用教程
  10. BZOJ_4554_[Tjoi2016&Heoi2016]游戏_二分图匹配
  11. docker创建image
  12. Saiku调用WS接口(十四)
  13. homebrew 安装 formula 的不同历史版本——以安装 node 为例
  14. Classification with DeepLearning
  15. delphi treeview checkbox
  16. win 2012 安装mysql 5.7.20 及报错 This application requires Visual Studio 2013 Redistributable. Please install the Redistributable then run this installer again 的解决办法
  17. (转)使用 vs.php 调试PHP
  18. SpringCloud之Fegin
  19. php分享二十四:数组
  20. UVALive 6912 Prime Switch 暴力枚举+贪心

热门文章

  1. eclipse中字体、XML字体设置
  2. JavaScript之函数原型链完整版
  3. .net MVC 微信公众号 点击菜单拉取消息时的事件推送
  4. 【Hadoop】:Windows下使用IDEA搭建Hadoop开发环境
  5. 在 WSL Ubuntu 上使用 .NET 进行跨平台开发新手入门
  6. sql中筛选条件为空值
  7. 对象的克隆(clone方法)
  8. 通过python的socket库实现简易即时通讯小程序
  9. hdp、cdh版本大数据maven仓库
  10. Spring--AOP、通知的执行顺序