如何通过SSH建立tunnel经过中转服务器给远程服务器传文件

2024-01-12 19:38

本文主要是介绍如何通过SSH建立tunnel经过中转服务器给远程服务器传文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下是Linux下的使用,如果在windows下使用ssh请参考windows7下cmd窗口使用ssh命令

情景是公司配置了远程服务器c,但是员工的电脑需要使用员工id密码先连接到一个中转服务网关b

已经尝试过在本地a上使用

ssh -p 22 <b的员工id>@<b的ip>

,然后在中转b上使用

ssh -p 22 <c的username>@<c的ip>

均可以成功跳转到对应的服务器上访问。

但是由于工作需要,要把本地a的文件传给服务器c,直接用scp是不可以的。

  • 已经尝试过直接在本地a上scp给服务器b失败,这很容易理解,一般中转服务器不让你上传文件的。
  • 尝试过在服务器b上使用scp把文件复制给服务器c,成功。

最后的解决办法如下:

  1. 在本地a使用以下指令,其中最后一个<SSH hostname>就是中转服务器的ip和用户名,可参考SSH Tunnel扫盲(ssh port forwarding端口转发)
    ssh -g -L <local port>:<remote host>:<remote port> <SSH hostname>

    写的详细点,比如我要使用本地的41234端口映射到服务器c的22端口,命令如下

    ssh -g -L 41234:<c的ip>:22 <b的员工id>@<b的ip>

    执行后会显示当前已在服务器b上

  2. 新打开终端,通过本地端口41234即可向服务器c复制文件,命令如下

    scp -P <端口> <本地文件索引> <c的username>@localhost:<服务器c上的目标目录>

    示例

    scp -P 41234 /lib/aaa/xxx.bin root@localhost:/dev/disk/

    其中大写的-P是因为scp默认连接的端口是22端口,如果ssh不是使用标准的22端口则使用-P(P大写)指定,参考scp复制文件到指定端口

这篇关于如何通过SSH建立tunnel经过中转服务器给远程服务器传文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/598946

相关文章

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

使用Nginx配置文件服务器方式

《使用Nginx配置文件服务器方式》:本文主要介绍使用Nginx配置文件服务器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 为什么选择 Nginx 作为文件服务器?2. 环境准备3. 配置 Nginx 文件服务器4. 将文件放入服务器目录5. 启动 N

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然