当前位置: 首页 > news >正文

使用任意电脑通过内网穿透生成的公网地址远程SSH连接本地Windows电脑

文章目录

    • 前言
    • 1. Windows安装SSH服务
    • 2. Windows本地连接测试
    • 3. Windows安装Cpolar工具
    • 4. 配置SSH公网地址
    • 5. 远程SSH 连接测试
    • 6. 固定SSH公网地址
    • 7. 固定SSH地址测试

前言

在当今的数字化转型时代,远程连接和管理计算机已成为日常工作中不可或缺的一部分。对于Windows用户而言,SSH(Secure Shell)协议提供了一种安全、高效的远程访问和命令执行方式。SSH不仅提供了加密的通信通道,防止敏感信息在传输过程中被窃听或篡改,还支持文件传输、端口转发等多种功能,是广泛使用的安全远程管理工具。

然而,Windows系统默认并不包含SSH服务,需要用户手动安装。幸运的是,Microsoft从Windows 10 1809版本开始,通过Windows Update提供了OpenSSH客户端和服务器的支持,使得在Windows上安装SSH变得简单快捷。本文将详细介绍如何在Windows上安装SSH服务,并结合cpolar内网穿透技术,实现SSH远程连接Windows计算机。

通过安装SSH服务,用户可以安全地远程登录到Windows系统,执行命令、访问文件、管理服务等。而cpolar作为一款强大的内网穿透工具,可以帮助用户突破网络限制,实现公网访问内网资源。将SSH与cpolar结合使用,不仅可以提升远程工作的效率和安全性,还能为远程技术支持、服务器管理等场景提供极大的便利。

在接下来的内容中,我们将分步骤指导读者如何在Windows上安装SSH服务,并通过cpolar配置SSH远程连接。无论是初学者还是有一定经验的用户,都能通过本文的指引,轻松实现Windows系统的SSH远程连接。希望本文能为您的远程工作和管理带来帮助,让您的计算机操作更加灵活、高效和安全。

请添加图片描述

1. Windows安装SSH服务

安装ssh 服务,我们需要用到powershell,按win键+x键,然后点击powershell管理员,以管理员方式打开powershell

image-20240702130217985

打开后输入下面命令进行安装,然后等待安装完成

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

等待安装完成后,我们可以看到出现online状态为True,表示成功

image-20240702141906235

确保服务正常运行,输入下面命令启动ssh服务

Start-Service sshd

然后配置为开机自启动

Set-Service -Name sshd -StartupType Automatic

然后输入Get-Service sshd 查看ssh服务目前状态,running 表示正常运行了

image-20240702130922501

如果有防火墙,记得开放22端口.否则会出现访问不了情况. 开放22端口后,下面进行本地连接测试

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

2. Windows本地连接测试

连接之前,我们需要查看用户名,打开电脑设置,以wind 10 为例,打开账户信息,可以看到用户名,我这边是邮箱账号,具体以自己为准,密码就是改账号对应的密码,然后下面进行连接

image-20240702132203639

我们下载一个ssh 客户端,如xshell 或者其他的客户端,输入本地地址 127.0.0.1端口22,用户名就是输入我们上面看到的账号

image-20240702142044429

然后连接中提示输入密码,我们输入windwos账号对应的密码

image-20240702142733875

然后可以看到,本地连接成功了,输入windows shell 命令即可进行操作.

image-20240702133227046

同样我们使用命令也可以正常连接,本地连接就测试完成了,下面我们安装cpolar工具,实现远程也可以连接

image-20240702142249405

3. Windows安装Cpolar工具

本例介绍的是windows系统,所以cpolar安装在windows上,点击下面地址访问cpolar官网,注册一个账号,然后下载并安装客户端.

Cpolar官网:https://www.cpolar.com/

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。

cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录,即可看到Cpolar 管理界面,然后一切设置只需要在管理界面完成即可!

20230130105810

4. 配置SSH公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:22 (ssh 默认端口)
  • 域名类型:临时随机TCP端口 (首次使用 选择随机地址测试)
  • 地区:选择China vip

点击创建 (注意点击一次即可!)

image-20240702135103788

然后打开左侧在线隧道列表,查看刚刚创建隧道后生成的远程 TCP连接地址,这个地址就是远程连接的地址,在其他设备上使用该地址进行远程连接,下面进行远程地址测试

image-20240702135208876

5. 远程SSH 连接测试

同样,在ssh 客户端输入我们在cpolar中创建都tcp公网地址,注意端口需要改成公网地址对应的端口号,然后进行连接

image-20240702135420194

然后可以看到,同样连接成功了,下面进行命令连接

image-20240702135537618

使用命令进行连接,同样也可以连接成功,远程连接测试目前为止就成功了,在任意电脑,我们都可以通过该公网地址进行远程 ssh 连接windows!

image-20240702135954817

小结

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

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

我一般会使用固定TCP域名,原因是我希望将地址发送给同事或客户时,它是一个固定、易记的公网地址,这样更显正式,便于流交协作。

6. 固定SSH公网地址

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

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

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

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

点击保留

image-20240702142405083

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

image-20240702142428645

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

image-20240702141033098

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

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

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

image-20240702141127076

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

image-20240702141212441

7. 固定SSH地址测试

固定好了地址后,在ssh 客户端修改成固定都公网地址,然后再连接测试

image-20240702141525163

可以看到连接成功了,这样一个固定不变都ssh 公网TCP地址就设置好了,不用担心地址变化.只要本地ssh服务和cpolar服务正常运行,随时随地的可以输入地址进行连接!

相关文章:

  • docker-compose搭建minio对象存储服务器
  • c++ primer plus 第15章友,异常和其他:15.1.2 友元成员函数
  • HTML+CSS笔记
  • ECOLOGY9重置系统管理员密码
  • 【堆 优先队列】23. 合并 K 个升序链表
  • 有哪些在本地运行大模型的方法
  • 交换机需要多大 buffer(续:更一般的原理)
  • 百日筑基第十一天-看看SpringBoot
  • Windows 下用MSYS2 环境为RP2040 编译MicroPython 固件
  • 深度学习基准模型Transformer
  • 开灯问题(数学思路)
  • 第二十条:与抽象类相比,优先选择接口
  • 程序员需要具备的核心竞争力
  • 【等保2.0是什么意思?等保2.0的基本要求有哪些? 】
  • 游戏中的坐标转换函数*2(laya2D)
  • $translatePartialLoader加载失败及解决方式
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • css属性的继承、初识值、计算值、当前值、应用值
  • egg(89)--egg之redis的发布和订阅
  • ES6系列(二)变量的解构赋值
  • Git 使用集
  • golang 发送GET和POST示例
  • Linux Process Manage
  • linux安装openssl、swoole等扩展的具体步骤
  • linux学习笔记
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Python_网络编程
  • Redis字符串类型内部编码剖析
  • Vue.js 移动端适配之 vw 解决方案
  • 半理解系列--Promise的进化史
  • 记录一下第一次使用npm
  • 人脸识别最新开发经验demo
  • 推荐一个React的管理后台框架
  • mysql面试题分组并合并列
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​渐进式Web应用PWA的未来
  • # C++之functional库用法整理
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #pragam once 和 #ifndef 预编译头
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (09)Hive——CTE 公共表达式
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (1)svelte 教程:hello world
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (三)终结任务
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .gitignore文件设置了忽略但不生效
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET 常见的偏门问题