公网使用SSH远程登录macOS服务器内网穿透

Posted 橙 子_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了公网使用SSH远程登录macOS服务器内网穿透相关的知识,希望对你有一定的参考价值。

文章目录

前言

macOS系统自带有Secure Shell 客户端,它可让您登录到侦听传入SSH连接的远程服务器和台式机。我们可以用ssh username@ip来ssh到服务器,但通常局限于局域网内的远程。

本次教程,我们将使用cpolar内网穿透工具,映射ssh服务默认端口:22端口,获取公网地址,实现在公网环境下的ssh远程登录,无需公网IP,也无需设置路由器。

1. macOS打开远程登录

  • 打开系统偏好设置,点击共享

  • 勾选打开远程登录,复制右侧的ssh远程登录命令

2. 局域网内测试ssh远程

本例以windows系统测试ssh远程,点击开始菜单栏搜索cmd,打开命令提示符,输入ssh命令,提示确认,输入yes并回车,提示输入macOS登录密码

ssh username@ip地址

如:

ssh eve@192.168.0.106

局域网内ssh远程登录macOS成功。

3. 公网ssh远程连接macOS

当成功实现在局域网内ssh远程登录macOS后,接下来,我们将通过cpolar内网穿透映射22端口,实现在公网环境下ssh远程连接macOS,无需公网IP,也无需设置路由器。

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

3.1 macOS安装配置cpolar

macos安装cpolar内网穿透可通过homebrew包管理器进行安装,无需手动下载安装包。

  • 安装homebrew

Homebrew是一款Mac OS下的套件管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 通过Homebrew包管理器安装cpolar内网穿透
brew tap probezy/core && brew install cpolar
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里

cpolar authtoken xxxxxxx

  • 安装服务
sudo cpolar service install
  • 启动服务
sudo cpolar service start
  • 登录cpolar web UI管理界面

在浏览器上访问本地9200端口【http://127.0.0.1:9200/】,使用cpolar账号登录。

登录成功后,点击左侧仪表盘的隧道管理——隧道列表,可以看到两条样例隧道(可自行编辑或者删减)

  • ssh隧道:指向本地22端口,tcp协议
  • website隧道:指向本地8080端口,tcp协议

本次我们可以直接使用ssh样例隧道,或者也可以创建一条新的隧道。

3.2 获取ssh隧道公网地址

点击左侧仪表盘的状态——在线隧道列表,找到ssh隧道,可以看到系统有自动生成相应的公网地址,将其复制下来,注意tcp://无需复制,本例为6.tcp.cpolar.top:14946

3.3 测试公网ssh远程连接macOS

打开命令提示符,输入ssh命令:

ssh macOS用户名@公网地址 -p 公网端口号

注意:由于我们的本地22端口到了公网被映射到了14946端口,所以,ssh命令需要加-p参数,后面加公网隧道端口号

如:

ssh eve@6.tcp.cpolar.top -p 14946

ssh远程登录成功!

4. 配置公网固定TCP地址

cpolar默认安装的ssh样例隧道使用的是随机端口地址,它会在24小时内随机变化,这对于经常访问的用户,或者生产环境的服务来说很不方便。为此,我们可以为其配置一个永久固定的公网TCP地址来进行远程,同时提高带宽。

注意需要将cpolar套餐升级至专业套餐或以上。

4.1 保留一个固定TCP端口地址

登录cpolar官网后台,点击左侧的预留,找到保留的TCP地址:

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

点击保留

固定TCP地址保留成功,系统生成相应的公网地址+固定端口号,将其复制下来

4.2 配置固定TCP端口地址

访问http://127.0.0.1:9200/登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到ssh隧道,点击右侧的编辑

修改隧道信息,配置固定TCP端口地址:

  • 端口类型:改为选择固定TCP端口
  • 预留的TCP地址:填写刚刚保留成功的固定TCP端口地址

点击更新

提示更新隧道成功,点击左侧仪表盘的状态——在线隧道列表,可以看到ssh隧道的公网地址已经更新为固定TCP端口地址,将其复制下来。

5. 使用固定TCP端口地址ssh远程

ssh eve@3.tcp.vip.cpolar.cn -p 11564

ssh远程登录成功,现在该公网地址不会再随机变化。

无公网IP,SSH远程连接Linux CentOS服务器内网穿透

文章目录


本次教程我们来实现如何在外公网环境下,SSH远程连接家里/公司的Linux CentOS服务器,无需公网IP,也不需要设置路由器。

视频教程

公网SSH远程Linux CentOS服务器【内网穿透】

1. Linux CentOS安装cpolar

cpolar支持一键自动安装脚本

  • cpolar 安装(国内使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

或 cpolar短链接安装方式:(国外使用)

curl -sL https://git.io/cpolar | sudo bash
  • 查看版本号,有正常显示版本号即为安装成功
cpolar version
  • token认证,登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx

  • 简单穿透测试,如有正常生成公网地址则为穿透成功,按ctrl+c退出
cpolar http 8080
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar
  • 查看服务状态,,正常显示为active则表示为启动成功在线状态
sudo systemctl status cpolar

cpolar安装成功后,默认会安装2条样例隧道,可自行编辑或者删减

  • website隧道:使用http协议,指向本地8080端口
  • ssh隧道,使用tcp协议,指向本地22端口

2. 创建TCP隧道

在centOS系统本地安装cpolar内网穿透之后,在外部浏览器上访问centOS本地9200端口,访问方式:局域网ip+:9200,打开cpolar web ui界面。

安装cpolar后,会默认生成一个ssh名称的隧道,如果有ssh,则可以直接跳到查看在线隧道列表,然后远程连接

如果没有,我们点击左侧仪表盘的隧道管理——创建隧道,由于ssh连接默认的是22端口,因此我们要来创建一条tcp隧道,指向22端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:tcp
  • 本地地址:22
  • 域名类型:选择随机域名
  • 地区:选择China VIP

点击创建

创建好后打开在线隧道列表,查看随机公网tcp地址

3. 随机地址公网远程连接

在外我们可以通过这个公网地址来SSH远程连接Linux CentOS,以windows系统为例,我们使用在cmd窗口即可远程连接centOS

ssh -p 端口号 用户名@公网地址 

这里需要注意,由于我们的本地22端口到了公网被映射到了23075端口(您的公网端口可能不一样),所以,ssh命令需要加-p参数,后面加公网端口号

同时我们也可以使用xshell工具也可以连接

4. 固定TCP地址

我们通过cpolar建立的临时TCP数据隧道,成功连接了位于局域网下的centos系统,,并能通过这条TCP连接隧道进行无差别操作。不过,此时的TCP数据隧道还是随机临时TCP隧道,每隔24小时端口号就会发生变化,更适合应用于系统调试、远程解决操作问题等环境。

如果想要让这条数据隧道长期稳定存在,我们还需要进一步的设置。首先要登录cpolar官网,点击左侧的预留

在预留界面中,找到保留的TCP地址项目。在这个项目下,我们填入一些必要信息,如识别数据隧道的隧道名称、隧道使用区域等。

  • 地区:选择China VIP
  • 描述:即备注,可以自定义填写

然后点击保留

地址保留成功后,cpolar会返回一个固定公网地址+固定公网端口号,这就是我们ssh连接到centos系统的固定地址,将其复制下来

接着我们回到cpolar web UI 管理界面,打开隧道列表,找到之前创建的随机临时TCP隧道,进入编辑页面

将我们在cpolar官网获得的隧道端口粘贴进预留的TCP地址栏中,然后点击下方的更新按钮

  • 端口类型:改为选择固定TCP端口
  • 预留的TCP地址:填写刚刚保留成功的固定公网地址

点击更新

然后再次查看在线隧道列表,发现ssh的隧道对应的公网地址变成了我们官网保留的固定地址

此时,我们就可以在其他设备和操作系统下,使用命令,稳定轻松的连接到Linux CentOS系统中,且不用再担心数据隧道端口号重置的问题。

5. 使用固定公网TCP地址SSH远程

打开cmd,执行ssh命令

ssh -p端口号 用户名@公网地址

这里需要注意,还是需要加-p参数,后面加公网端口号

同时使用xshell工具也可以连接。

综上,成功实现了在外公网环境下也可以SSH远程连接到公司/家里的Linux CentOS服务器,不需要公网IP,也不用设置路由器,简单通过cpolar内网穿透工具映射本地22端口,通过所生成的公网地址来进行SSH远程连接。

以上是关于公网使用SSH远程登录macOS服务器内网穿透的主要内容,如果未能解决你的问题,请参考以下文章

VsCode SSH远程连接服务器内网穿透公网连接

FRP 内网穿透服务免费使用的详细教程

ssh连接内网Linux服务器

Linux安装宝塔,并实现公网远程登录宝塔面板内网穿透

利用ssh转发功能做端口映射,实现内网穿透

Linux搭建SVN服务器,并内网穿透实现公网远程访问