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

教程介绍了如何通过cpolar工具在没有公网IP的情况下,设置TCP隧道,实现对外公网的SSH远程连接到LinuxCentOS服务器。包括cpolar的安装、创建TCP隧道、随机和固定公网地址的使用,以及在Windows和xshell中的连接方法。

目录

视频教程

1. Linux CentOS安装cpolar

2. 创建TCP隧道

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

4. 固定TCP地址

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


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

视频教程

【SSH远程服务器】在外远程连接Linux服务器「无公网IP」

1. Linux CentOS安装cpolar

cpolar官网: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

20230310092513

  • 简单穿透测试,如有正常生成公网地址则为穿透成功,按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,则可以直接跳到查看在线隧道列表,然后远程连接

image-20230308165855618

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

  • 隧道名称:可自定义,注意不要重复

  • 协议:tcp

  • 本地地址:22

  • 域名类型:选择随机域名

  • 地区:选择China VIP

点击创建

image-20230308170302490

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

image-20230308170602609

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

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

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

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

image-20230308171327763

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

image-20230308180406308

4. 固定TCP地址

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

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

在这里插入图片描述

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

  • 地区:选择China VIP

  • 描述:即备注,可以自定义填写

然后点击保留

image-20230308182039249

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

image-20230308182152002

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

image-20230308182613303

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

  • 端口类型:改为选择固定TCP端口

  • 预留的TCP地址:填写刚刚保留成功的固定公网地址

点击更新 image-20230308182756937

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

image-20230308182850431

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

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

打开cmd,执行ssh命令

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

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

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

image-20230308184643363

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

<think>嗯,用户想用天翼云服务器设置内网穿透远程连接家里没有公网IP的电脑。首先,我需要确认内网穿透的基本原理。内网穿透通常需要一个公网IP服务器作为中介,把内网的服务暴露出去。天翼云服务器应该有公网IP,所以可以用来做转发。 接下来,用户可能需要安装一些工具,比如frp或者cpolar。不过用户提到天翼云,可能更倾向于使用已有的服务或者特定工具。比如,frp是比较常见的开源方案,分为服务端和客户端。服务端装在天翼云上,客户端装在家里电脑上。然后,配置服务端frps.ini,设置监听端口,比如7000。客户端frpc.ini则需要配置SSH的端口映射,把本地22端口转发到天翼云服务器的某个端口,比如6000。这样用户通过连接天翼云的公网IP:6000,就能访问到家中的SSH服务。 另外,需要注意天翼云的安全组设置,放行相应的端口,比如7000和6000,否则流量会被拦截。还有家里的电脑要运行客户端,保持连接。用户可能对安全组配置不熟悉,需要详细说明步骤。可能还需要考虑开机自启动,确保家里电脑重启后客户端自动运行。systemd或者crontab的方法可以提到。另外,测试连接是否成功,用ssh命令指定端口连接天翼云的IP和映射端口。用户可能遇到的问题包括端口冲突、配置错误、防火墙设置等,需要给出排查建议,比如检查日志、确认端口开放等。引用中的cpolar也是一个选项,但用户指定了天翼云,所以可能更适合自建方案,比如frp。总结步骤:安装frp服务端到天翼云,配置并开放端口;安装客户端到家用电脑,配置连接信息;测试SSH连接。同时提醒安全性和稳定性措施,比如使用密钥认证、保持客户端在线。</think>### 分步解决方案:使用天翼云服务器实现内网穿透远程连接 #### 一、环境准备 1. **天翼云服务器** - 需具备公网IP地址(默认提供) - 开放所需端口(如SSH默认端口22,以及自定义转发端口如6000) - 建议选择Linux系统(如CentOS/Ubuntu) 2. **家用电脑** - 需安装SSH服务(Linux默认开启,Windows可用OpenSSH) - 保持网络连接稳定 #### 二、使用frp工具实现内网穿透 ##### 1. 天翼云服务器端配置(服务端) ```bash # 下载frp工具(替换版本号) wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz tar -zxvf frp_0.51.3_linux_amd64.tar.gz cd frp_0.51.3_linux_amd64 # 配置frps.ini cat > frps.ini <<EOF [common] bind_port = 7000 # 服务端监听端口 EOF # 启动服务端 ./frps -c frps.ini ``` ##### 2. 家用电脑端配置(客户端) ```bash # 下载对应系统的frp客户端 # 配置frpc.ini cat > frpc.ini <<EOF [common] server_addr = 天翼云服务器公网IP server_port = 7000 # 与服务端bind_port一致 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 # 远程访问端口 EOF # 启动客户端 ./frpc -c frpc.ini ``` ##### 3. 安全组配置(天翼云控制台) 1. 登录天翼云控制台 2. 进入**安全组**设置 3. 放行端口:`7000`(frp服务端通信)、`6000`(SSH转发) #### 三、远程连接验证 ```bash # 通过天翼云公网IP+端口连接家用电脑 ssh -p 6000 家用电脑用户名@天翼云服务器公网IP ``` #### 四、增强稳定性(可选) 1. **设置systemd自启动(服务端/客户端)** ```bash # 示例:客户端自启动配置 sudo nano /etc/systemd/system/frpc.service ``` 添加内容: ```ini [Unit] Description=Frp Client After=network.target [Service] ExecStart=/path/to/frpc -c /path/to/frpc.ini Restart=on-failure [Install] WantedBy=multi-user.target ``` 2. **使用SSH密钥认证替代密码** ```bash # 生成密钥对 ssh-keygen -t rsa # 将公钥复制到家用电脑 ssh-copy-id -p 6000 用户名@天翼云服务器IP ``` #### 五、常见问题排查 - **连接超时** 检查天翼云安全组、家用电脑防火墙(如`sudo ufw allow 22`) - **端口冲突** 修改`frpc.ini`中的`remote_port`值(如6001) - **日志查看** 服务端:`tail -f frps.log` 客户端:`tail -f frpc.log` ###
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_揽

苦der程序员敲代码

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值