外网ssh远程连接服务器

avatar
作者
筋斗云
阅读量:0

文章目录

外网ssh远程连接服务器

一、前言

同一个局域网内远程ssh连接服务器,只需要知道服务器的IP地址就可以实现连接。但是在不同的局域网下,我们想要通过外网远程连接服务器(应用场景:在家远程连接公司的服务器,在家远程连接学校实验室的服务器…)应该如何实现呢?

原理:通过内网穿透实现ssh远程连接

工具:cpolar内网穿透

二、配置流程

1. 在服务器上安装cpolar客户端

cpolar官网

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash 

image-20240123110843905

2. 查看版本号,有正常显示版本号即为安装成功

cpolar version 

3. token认证

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

cpolar authtoken xxxxxxx 

image-20240123101930505

image-20240123101621321

4. 简单穿透测试

cpolar http 8080 

按ctrl+c退出

image-20240123102018175

5. 向系统添加服务

sudo systemctl enable cpolar 

image-20240123102228668

6. 启动cpolar服务

sudo systemctl start cpolar 

image-20240123102247578

7. 查看服务状态

sudo systemctl status cpolar 

如下所示,正常显示为active则为正常启动状态

8. 登录后台,查看隧道在线状态

  • https://dashboard.cpolar.com/status

安装完成后,会默认配置一个简单的样例配置文件,创建了两个样例隧道,一个是web隧道指向 http 8080端口,一个是ssh隧道指向tcp 22端口。我们用到的就是ssh隧道,登录cpolar官网后台,点击左侧的状态,查看ssh隧道对应的URL。

image-20240123102757283

9. 在远程控制端,实现外网ssh远程连接服务器

ssh -p XXXXX username@公网地址  # XXXXX为cpolar生成的端口号,为ssh隧道对应URL最后面的“:”后面的数字。 # username为服务器用户名,例如root。 # 公网地址为ssh隧道对应的URL中的地址,例如1.tcp.vip.cpolar.cn  # example:ssh -p 11556 amax@2.tcp.vip.cpolar.cn 

image-20240123115730858

成功连接!!!

【注】使用免费的cpoalr内网穿透所生成的公网地址为随机临时地址,24小时内会随机变化。如果需要长期远程访问建议配置固定TCP端口地址,并提高带宽,实现更为高效流畅的远程。

三、安装说明

  • cpolar默认安装路径 /usr/local/bin/cpolar
  • 安装脚本会自动配置systemd服务脚本,启动以后,可以开机自启动。
  • 如果第一次安装,会默认配置一个简单的样例配置文件,创建了两个样例隧道,一个web,一个ssh
  • cpolar配置文件路径: /usr/local/etc/cpolar/cpolar.yml

参考:

cpolar使用文档

Bash 脚本教程

😃😃😃

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!