如何通过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实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

nginx配置多域名共用服务器80端口

《nginx配置多域名共用服务器80端口》本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直... 多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的