如何使用WinSCP结合Cpolar实现公网远程访问内网Linux服务器

文章目录

    • 1. 简介
    • 2. 软件下载安装:
    • 3. SSH链接服务器
    • 4. WinSCP使用公网TCP地址链接本地服务器
    • 5. WinSCP使用固定公网TCP地址访问服务器

1. 简介

Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件,它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。

​ 可视化操作就是直接把文件从本机拖入,打开文件直接双击即可。

image-20231026163601310

软件特性

  • 支持协议众多:SSH ,FTP、SFTP、FTPS、SCP。

  • 友好的图形操作界面,设置可以在选项界面中更改皮肤。

  • 与 Windows 完美集成(拖拽, URL, 快捷方式)

  • 内置文本编辑器

  • 带有比较目录、同步、同步浏览、查找文件、清除缓存等额外有用功能。

  • 能够保存多个ftp会话。

2. 软件下载安装:

GIthub项目地址:Github WinSCP

下载链接:download WinSCP

image-20231026101124381

Winscp界面:

image-20231026101231952

3. SSH链接服务器

首先,ifconfig命令查询服务器ip地址:

这里以centos7系统举例(ubuntu等同理):

image-20231026105722517

复制局域网地址:192.168.40.162

image-20231026110615656

直接从win本地拖入文件:

image-20231026143413337

检查一下,成功传输:

image-20231026143551998

以上操作在本地进行,如果人在异地,需要公网访问本地服务器,就需要在本地服务器上安装内网穿透服务来实现将本地局域网地址映射至公网。

4. WinSCP使用公网TCP地址链接本地服务器

​ 首先,我们需要提前在本地服务器上安装内网穿透软件,这里我使用的是免费版本不限流量支持TCP传输的Cpolar。

如何安装Cpolar请参考:

centos安装完毕后,浏览器登陆 localhost:9200 如下:(若centos无图形化界面可以手动调整隧道配置文件实现穿透,在文档第四章)

点击 创建隧道

image-20231026150603677

示例如下:

image-20231026151246802

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择TCP
  • 本地地址:22
  • 域名类型:随机临时(cpolar免费版)
  • 地区:选择China top

点击创建

image-20231026151417135

​ 打开在线隧道列表, 复制刚刚映射的公网tcp地址

回到winscp:

image-20231026151631524

  • 协议:SFTP
  • 主机名:生成的公网地址(不带端口号)
  • 端口号:写cpolar生成的5位数端口号

image-20231026154231330

image-20231026154247961

成功使用公网访问!

5. WinSCP使用固定公网TCP地址访问服务器

如果想将TCP链接固定为永久不变的ip地址,需要 使用 cpolar的付费功能 ,将套餐 升级专业版套餐 及以上,支持固定TCP地址

访问cpolar仪表盘:

往下翻,找到保留TCP地址:

image-20231026154938345

  • 地区:国内选择 china vip

  • 描述:自行填写,用来区分地址用途

    点击 保留

回到服务器cpolar webui

image-20231026160630033

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复

  • 协议:选择TCP

  • 本地地址:22

  • 域名类型:随机临时(cpolar免费版)

  • 地区:选择China top

    映射为刚刚保留的固定tcp地址

image-20231026162201285

所有配置都已经完成,现在我们就可以在异地公网访问centos服务器编辑和上传文件,并且链接地址固定永久不变!

我们现在测试一下,回到winscp:

image-20231026160309546

成功使用固定tcp远程登陆centos服务器:

image-20231026162315124

现在我们就可以使用任意一台电脑,无需在局域网内也可以访问此centos服务器!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基本工具学习--宝藏“课程”

Contents Linux概念&提问Vim命令正则表达式工具 Git自我修养 Linux Linux入门教程鸟哥的Linux私房菜Harley Hahn’s Guide to Unix and Linux计算机教育缺失的一课:https://missing.csail.mit.edu/Linux C编程一站式学习:https://akaedu.github.io/…

HCIP---IS-IS协议

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.IS-IS协议概述 IS-IS是一种基于链路状态的内部网关协议(IGP),它使用最短路径优先算法(SPF或Dijkstra)进行路由计算。这种协议在自治…

javascript:void(0)用法及常见问题解析

文章目录 一、javascript:void(0)用法1. 阻止链接的默认行为2. 结合事件处理器3. 为什么使用 javascript:void(0) 而不是 #4. 现代替代方案 二、javascript:void(0)常见问题解析常见问题解析1. 为何使用 javascript:void(0) 而不是简单的 #?2. javascript:void(0) 是…

代码随想录算法训练营第16天| 104. 二叉树的最大深度、559. N 叉树的最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数

104. 二叉树的最大深度 题目链接 104. 二叉树的最大深度 - 力扣(LeetCode) 思路 二叉树最大深度这道题用层序遍历的话可以用一个变量记录size更新的次数,15min解决。 class Solution { public:int maxDepth(TreeNode* root) {//二叉树这…

buuctf EasyBypass --不会编程的崽

buu后边的题有些确实难&#xff0c;有些其实也没那么复杂。昨天做一道异或绕过的题&#xff0c;现在还没看懂QAQ 先来一题简单的吧。哎&#xff0c;随缘更新吧 <?phphighlight_file(__FILE__);$comm1 $_GET[comm1]; $comm2 $_GET[comm2];if(preg_match("/\|\|\\|\…

探秘HTTPS:如何通过SSL/TLS保证网络通信安全

目录 引言 详解HTTPS加密实现机制 SSL/TLS工作原理 结论 引言 随着网络安全威胁的日益增加&#xff0c;HTTPS通过SSL&#xff08;Secure Sockets Layer&#xff09;和TLS&#xff08;Transport Layer Security&#xff09;协议提供的加密技术变得至关重要。这些技术保证了用…

Dubbo基础入门二

8、Dubbo协议 服务调用 8.1 服务端 启动过程深入分析 我们查看一下服务启动的过程 ProtocolFilterWrapper.export 好我们进入DubboProtocol.export 创建服务 分析我们的Handler 我们接着返回刚才位置 下面的super方法里面会创建服务&#xff0c;ChannelHandlers.wrap会对hand…

Oracle Essbase 多维库导入文件数据步骤操作

第一步&#xff1a; 先确定导入数据的维度数量&#xff08;清楚自己需要导入什么数据和范围&#xff09; 第二步&#xff1a; 设置加载的规则 1.创建规则 2.编辑规则-》打开数据文件 通过数据文件来确定加载规则的加载格式 先查看数据文件格式&#xff1a; 将数据文件导入&…

es6面试题

ES6面试题 var、let、const区别 共同点&#xff1a;都是可以声明变量 区别&#xff1a; 1、var具有变量提升机制&#xff0c;let和const没有 2、var 声明的变量是函数作用域或全局作用域&#xff0c;而 const 和 let 声明的变量是块级作用域。 3、var可以多次声明同一个变量&a…

智能电视(如小米电视)安装应用(当贝市场、浏览器)、去开机广告

文章目录 安装当贝市场U盘安装&#xff08;智能电视通用&#xff09;不用U盘安装&#xff08;智能电视通用&#xff0c;需要自带应用商店有悟空遥控器等应用&#xff09;不用U盘安装&#xff08;智能电视通用&#xff0c;需要自带应用商店有应用管家等应用&#xff09;不用U盘安…

trim 去除空格

trim(str, pos) 该方法可以去除空格&#xff0c;分别可以去除所有空格&#xff0c;两端空格&#xff0c;左边空格&#xff0c;右边空格&#xff0c;默认为去除两端空格 str <String> 字符串pos <String> 去除那些位置的空格&#xff0c;可选为&#xff1a;both-默…

JUnit5常用断言

解释 断言&#xff0c;在编程中指断定程序的执行结果一定和预期一样&#xff0c;如果不一样则报错&#xff0c;并且中断后面代码的执行 依赖 <dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><…

QML 3D入门知识路线

目前使用的版本 v5.14.0 模块导入 使用QML 3D时需要 import Qt3D.Core 2.14 核心模块类 V6以上的版本已经发布&#xff0c;所以有很多module会发生变化&#xff0c;主要有核心module、输入、逻辑、渲染、动画和扩展module&#xff0c;以及2D/3D场景模块 类名 能…

python控制流工具

4.1. if 语句 最让人耳熟能详的语句应当是 if 语句&#xff1a; >>> >>> x int(input("Please enter an integer: ")) Please enter an integer: 42 >>> if x < 0: ... x 0 ... print(Negative changed to zero) ... eli…

Java 面试笔试题 - Stream 和 Lambda 表达式的使用

请按以下步骤实现代码 创建一个新的 JDK 1.8 项目&#xff0c;能运行 main 方法即可 新建一个 Record 类&#xff0c;类中包含以下属性 level, teacher, student 构建一个 List 集合&#xff0c;集合中包含 8 个 Record 对象&#xff0c; Record 对象包含以下属性&#xff1a…

【新版Hi3521DV200处理器性能】

新版Hi3521DV200处理器性能 Hi3521DV200是针对多路高清/超高清&#xff08;1080p/4M/5M/4K&#xff09;DVR产品应用开发的新一代专业SoC芯片。Hi3521DV200集成了ARM Cortex-A7四核处理器和性能强大的神经网络推理引擎&#xff0c;支持多种智能算法应用。同时&#xff0c;Hi352…

类和对象 02【C++】

文章目录 一、 构造函数(初始化列表)1. 初始化列表2. explicit 关键字3. static成员 二、 友元1. 友元函数2.友元类 三、 内部函数四、 匿名对象五、 拷贝对象时的一些编译器优化 一、 构造函数(初始化列表) 进一步理解构造函数&#xff0c;我们知道创建对象时&#xff0c;编译…

手把手教会你 - StreamAPI基本用法

1. 简介 目前响应式编程的学习中很多时候都用到了Lambda表达式和StreamAPI&#xff0c;那么今天就在这里记录一下一些最基本的使用方法。 StreamAPI中引入了流的概念&#xff0c;其将集合看作一种流&#xff0c;流在管道中传输&#xff08;动态的&#xff09;&#xff0c;可以…

IDEA构建Maven JavaSE工程的全面指南

IDEA构建Maven JavaSE工程的全面指南 一、引言 在现代Java开发中&#xff0c;Maven已经成为了一个不可或缺的工具&#xff0c;它帮助我们管理项目的依赖、构建、文档、报告等。而IntelliJ IDEA&#xff08;简称IDEA&#xff09;则是一款强大的Java集成开发环境&#xff08;ID…

AI助力剧本创作:如何5分钟内构思出热门短剧大纲

人工智能重塑短剧行业&#xff1a;从剧本创作到市场推广 在当今短剧行业的飞速发展中&#xff0c;剧本创作的质量及其更新的速度已然成为短剧能否转化为热门作品的关键性因素。然而&#xff0c;随着短剧创作成本的日益攀升&#xff0c;一个卓越的剧本无论在创作时间上还是在构思…