如何通过SSH协议使用WinSCP实现Windows与Linux之间的远程公网文件传输

news2024/12/23 18:39:36

目录

⛳️推荐

前言

1. Windows传输文件至Linux

2. WinSCP使用公网TCP地址连接

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


⛳️推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

前言

WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件,直接把文件从本机拖入,打开文件直接双击即可。
相对于Windows系统自带的,WinSCP,可以同时多线程、多终端访问,延迟率少、传输更稳定,可以不同系统,不同平台交互 ,比如Windows和Linux文件互传等。

为了更好地理解WinSCP的使用,我们将通过演示Windows传输文件至Linux。假设我们希望把本地Windows主机上的文件公网远程至不在同一局域网的其他主机,我们就可以借助Cpolar内网穿透来实现这一功能。

1. Windows传输文件至Linux

首先本篇文章的测试环境:Win10专业版、Ubuntu22.04

在Windows中安装WinSCP:

GIthub项目地址:Github WinSCP
下载链接:download WinSCP

安装后,双击打开WinSCP,可以看到进入到了WinSCP界面中

接下来需要进入到Ubuntu中,查看一下是否开启OpenSSH服务

sudo systemctl status ssh

如果未安装ssh,需要安装ssh服务

sudo apt install openssh-server

安装后,启动ssh服务

sudo systemctl start ssh

然后再检查一下ssh服务状态,显示active就说明已经安装成功

image.png

防火墙开放22端口:
使用 ufw工具操作防火墙,Ubuntu是默认自带安装的,查看防火墙已开放的端口列表,可以看到出现22端口

sudo ufw status numbered

image.png

如未开放,则需要开放22端口

sudo ufw allow 22

接下来我们需要进入到Ubuntu当中查询一下Ubuntu的IP地址,输入:ifconfig

image.png

可以看到IP地址为 192.168.177.135

回到Windows的WinSCP中,进入到登录界面,主机名填写上面Ubuntu的IP地址
用户名、密码填写Ubuntu服务器的主机名密码,点击登录

image.png

点击接受

image.png

可以看到连接成功,左边是Windows目录,右边是Ubuntu目录

image.png

接下来演示一下如何传输文件

我们在右侧Ubuntu中,先点击需要传输后的目录

image.png

然后从左侧Windows当中,右键选择需要传输的文件,点击上传

image.png

确认好路径后,点击确定

image.png

可以看到已经传输成功

image.png

回到Ubuntu验证一下是否传输成功

image.png

可以看到已经传输成功,但是以上操作在本地局域网内进行,如果我们经常需要异地传输,那么接下来就需要公网访问本地服务器,就需要在本地服务器上安装Cpolar内网穿透服务来实现将本地局域网地址映射至公网完成远程传输。

那么接下来教大家如何安装Cpolar内网穿透,完成WinSCP公网远程文件传输!

2. WinSCP使用公网TCP地址连接

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

下面是安装cpolar步骤:

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 安装完成后,加入系统服务设置开机自启动
sudo systemctl enable cpolar
  • 启动Cpolar服务
sudo systemctl start cpolar
  • 查看cpolar服务状态
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,内部或外部浏览器上通过本机IP加9200端口即,或者localhost:9200【http://192.168.xxx.xxx:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可

image.png

点击左侧仪表盘的隧道管理——隧道列表,可以看到有一个默认的ssh隧道

6c6a4fb6629c9a14c2717c4f6d090df.png

点击左侧状态——在线隧道列表,可以看到出现ssh公网地址,我们复制tcp://后面地址

image.png

然后回到WinSCP当中,点击新标签页:

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

点击登录

image.png

同上操作一样,点击接受,可以看到使用公网地址同样远程访问到了Ubuntu服务器,传输文件步骤还是一样同上

image.png

可以看到使用WinSCP远程连接测试文件传输目前为止就成功了,在任意电脑,我们都可以通过该公网地址进行远程 WinSCP 连接传输文件了!

小结

为了更好地演示,我们在前述过程中使用了Cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定TCP域名,如果我需要长期远程传输文件,它是一个固定、易记的公网地址,这样更加便于长期文件传输。

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

上面步骤在cpolar中使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。

配置固定tcp端口地址需要将Cpolar升级到专业版套餐或以上。

登录Cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为远程联机地址保留一个固定的地址:

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

image.png

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

image.png

再次打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击右侧的编辑

image.png

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的TCP地址:填写官网保留成功的地址,

点击更新(只需要点击一次更新即可,不要重复点击)

image.png

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了和我们在官网固定的TCP地址和端口一致。这样表示地址已经成功固定了,下面测试固定地址连接

image.png

固定好了地址后,返回 WinSCP,点击新标签页,主机名端口号改成固定公网地址,然后再点击登录

image.png

image.png

可以看到我们使用固定的tcp地址成功的远程连接到了Ubuntu服务器中,这样一个固定不变的公网TCP地址就设置好了,不用担心地址变化.随时随地的可以输入地址进行公网远程传输文件了!

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

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

相关文章

QT通用配置文件库(QPreferences)

QT通用配置文件库(QPreferences) QPreferences项目是基于nlohmann/json的qt可视化配置文件库,将配置保存成json格式,并提供UI查看与修改,可通过cmake可快速添加进项目。默认支持基本类型、stl常用容器、基本类型与stl容器组成的结构体&#…

C#知识|账号管理系统:添加账号的功能笔记

哈喽,你好啊,我是雷工! 本节记录账号管理系统中添加账号的逻辑过程,以下为学习笔记。 01 实现内容 ①:实现当点击【保存到数据库】按钮时,将账号名称、原创篇数、账号简介、账号类型显示的内容存储到LGAccountManagerDB数据库的Account表中; ②:实现点击【保存到数据库…

手势控制机械手

机械手的手势控制 思路: 1 通过摄像头实现手势识别 2 将识别后的手势数据通过计算拇指与中指指尖的距离计算出舵机需要旋转的角度 3 将数据通过mqtt发送给mqtt服务器 4 硬件通过mqtt获取需要旋转的角度控制舵机旋转 开发环境: 硬件: ESP8266、舵机 硬件代码: 软件环…

颗粒饲料机器,打造成套饲料生产线

无论您是大型养殖场还是小型养殖户,我们的颗粒饲料机器能满足您的需求。我们致力于为客户打造成套饲料生产线,让您在养殖业中脱颖而出。 🚀 开启养殖新时代,您的饲料生产线升级设备! 还在为饲料生产烦恼吗&#xff1f…

【笔记-MyBatis】StatementHandler

Author:赵志乾 Date:2024-07-15 Declaration:All Right Reserved!!! 1. 简介 StatementHandler封装了对JDBC各类Statement的操作,如设置fetchSize属性、设置查询超时时间、与数据库进行交互等&…

第一节Linux常见指令

目录 1.Linux下基本指令 ls指令 pwd 命令 cd 指令 知识点:理解树形结构 touch 指令 mkdir指令(重要) rmdir指令 && rm指令(重要) 知识点:ls file* 可以找到当前目录下任何以file开头的文件​编辑 知识点:热键 man指令()重要 补充知识点:nano cp…

解锁Mac与Windows无缝协作新纪元:Tuxera NTFS for Mac 2022 —— 高效读写,畅享双系统自由

Tuxera NTFS for Mac 2022,作为一款专为Mac用户设计的文件系统驱动插件,它彻底打破了Mac与Windows之间在文件读写上的界限,为用户带来了前所未有的跨平台体验。 这款插件让Mac用户能够轻松访问、读取并写入NTFS格式的硬盘或U盘,无…

C++第七弹 -- C/C++内存管理

目录 前言一. C/C内存分布二. C语言中动态内存管理方式三. C中动态内存管理四. operator new与operator delete函数五. new和delete的实现原理1.内置类型2. 自定义类型 六. 定位new表达式(placement-new)七. 常见面试题总结 前言 在C/C编程中,内存管理是至关重要的…

jwt复习及ctfshow做题

Jwt复习总结 JWT简介 JWT即Json Web Token的缩写,顾名思义,是Token的一种。它常被用来在向服务器发起请求时用作身份认证。使用JWT作为身份认证的优势在于:它不需要在服务端去保留用户的认证信息。仅需要对该Token正确性进行校验即可,这就意…

张量分解(4)——SVD奇异值分解

🍅 写在前面 👨‍🎓 博主介绍:大家好,这里是hyk写算法了吗,一枚致力于学习算法和人工智能领域的小菜鸟。 🔎个人主页:主页链接(欢迎各位大佬光临指导) ⭐️近…

那一单,教会我的不只是后悔

在销售行业中,每一笔成交都是一场精心策划的战役。每一个细节、每一次沟通都需要谨慎处理,以防辛苦建立的信任大厦瞬间崩塌。然而,即便是最小心谨慎的人也难免会犯错。我的一位好友,我们姑且称他为杰克,在一次不经意间…

实战篇(九):解锁3D魔方的秘密:用Processing编程实现交互式魔方

解锁3D魔方的秘密:用Processing编程实现交互式魔方 使用 Processing 创建一个 3D 魔方效果展示1. 安装 Processing2. 项目结构3. 代码实现4. 代码解释4.1. 初始化魔方4.2. 绘制魔方4.3. 处理鼠标事件4.4. 检查点击的面4.5. 旋转面和最终确定旋转5. 运行和测试6. 细节解释6.1. …

数据精度丢失

js数据精度丢失 最近看面试题想到了之前在开发钟遇到过的问题,现总结一下 在开发过程中,发现从后台返回的数据结构中的id字段在前端显示为不正确的值。经过排查,怀疑是JavaScript中Number类型精度丢失的问题。通过将id字段的类型从Number改为…

I/O多路复用:解锁服务器高性能的钥匙

文章目录 I/O 多路复用引言I/O 多路复用:并发处理的艺术介绍I/O多路复用的意义Linux下的I/O多路复用机制总结 文件描述符(fd):连接的桥梁概述文件描述符的作用文件描述符的生命周期特殊的文件描述符文件描述符与I/O多路复用 套接字…

数据结构—链式二叉树-C语言

代码位置:test-c-2024: 对C语言习题代码的练习 (gitee.com) 一、前言: 在现实中搜索二叉树为常用的二叉树之一,今天我们就要通过链表来实现搜索二叉树。实现的操作有:建二叉树、前序遍历、中序遍历、后序遍历、求树的节点个数、求…

路径规划 | 基于DQN深度强化学习算法的路径规划(Matlab)

目录 效果一览基本介绍程序设计参考文献 效果一览 基本介绍 DQN路径规划算法 基于深度强化学习算法的路径规划 matlab2023b 栅格环境,走迷宫,可以通过窗口界面方便观察交互过程,代码注释详尽。 程序设计 完整源码和数据私信博主回复基于DQN深…

什么是大数据信用?它的作用有哪些?怎么查询大数据?

在金融行业中,风险管理是至关重要的一环。传统的信用评估方法主要基于借款人的财务状况和信用历史,但这些信息往往无法全面反映借款人的信用状况。大数据信用的出现为金融风控提供了新的解决方案。 首先,大数据信用可以为金融机构提供更全面的…

flutter实现语言的国际化

目录 前言 一、GetX实现国际化(推荐) 1.安装Getx 2.创建国际化的文件 3.使用国际化字符串 4.配置GetMaterialApp 5.更改语言 6.系统语言 ​编辑 7.原生工程配置 1.iOS工程配 1.打开iOS工程,在Project的info里面添加语言 2.创建String File文件 2.andr…

运维管理数智化:数据与智能运维场景实践

本文来自腾讯蓝鲸智云社区用户:CanWay 摘要:笔者根据自身的技术和行业理解,分享嘉为蓝鲸数据与智能运维场景实践。 涉及关键字:一体化运维、平台化运维、数智化运维、AIOps、运维PaaS、运维工具系统、蓝鲸等。 本文作者&#xf…

vue2迁移到vue3注意点

vue2迁移到vue3注意点 1、插槽的修改 使用 #default , 以及加上template 模板 2、 类型的定义,以及路由,vue相关资源(ref, reactive,watch)的引入等 3、类装饰器 1)vue-class-component是vue官方库,作…