外网SSH远程连接linux服务器,看这一篇就够了

转载自内网穿透工具的文章:无公网IP,SSH远程连接Linux CentOS服务器【内网穿透】

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

视频教程

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

1. Linux CentOS安装cpolar

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

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远程连接。

  • 23
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论
### 回答1: SSH(Secure Shell)是一种加密的远程连接工具,可以在客户端与远程服务器之间建立安全的连接。使用 SSH 连接 Linux 服务器需要在客户端使用 SSH 客户端软件,在服务器上安装并配置 SSH 服务。 连接步骤如下: 1. 在客户端打开终端,输入 ssh 用户名@服务器IP地址 2. 系统会提示你输入密码,输入正确的密码即可连接成功 需要注意的是,连接前要确保服务器已经开启了 ssh 服务。 ### 回答2: ssh是一种远程登录协议,它能够提供一个安全的加密连接,使得用户可以在不用亲自到服务器上的情况下,通过网络和远程主机进行交互。ssh通常被用来在命令行窗口中连接远程linux服务器、管理远程主机、传输文件等操作。 要使用ssh连接远程linux服务器,首先需要确定目标服务器的IP地址和登录用户名。然后在命令行中输入 ssh username@remotehostipaddress,并确认是否连接成功。如果成功连接,之后就可以输入远程机的密码进行远程操作。 在建立ssh连接时,ssh会自动对传输的数据进行加密处理。另外,ssh还可以实现远程端口映射、ssh隧道、ssh跳板等功能,以帮助用户进行更高级别的远程操作。 虽然ssh是一种安全、可靠的远程连接方式,但在使用时还需要注意一些问题。比如,需要确保远程服务器ssh服务已开启;尽量使用随机密码或使用SSH key对进行验证等。同时还需要定期更新ssh软件,定期修改密码等,以确保连接的安全性和稳定性。 ### 回答3: SSH是Secure Shell的缩写,它是一种加密安全协议,可以实现远程连接服务器的功能。SSH协议在数据传输的过程中是加密的,确保了连接的安全性。因此,在进行Linux服务器管理、运维等操作时,通常需要使用SSH协议进行远程连接。在本文中,我们将详细介绍如何通过SSH远程连接Linux服务器SSH协议的使用 在Linux服务器中,SSH协议是最常用的远程连接协议。首先需要确认服务器上是否安装了OpenSSH,OpenSSHSSH协议的一种。我们可以通过运行以下命令来确认是否安装了OpenSSH: ``` $ systemctl status sshd ``` 在终端中输入上述命令,如果服务器上已经安装了OpenSSH,那么会显示sshd服务正在运行。否则,则需要通过命令安装OpenSSH。在Ubuntu系统上,可以通过以下命令安装OpenSSH: ``` $ sudo apt-get install openssh-server ``` 在CentOS系统上,可以通过以下命令安装OpenSSH: ``` $ sudo yum install openssh-server ``` 安装完成后,需要启动ssh服务以及设置开机自启动: ``` $ sudo systemctl start sshd $ sudo systemctl enable sshd ``` 使用SSH远程连接Linux服务器 在安装完OpenSSH之后,就可以使用SSH协议远程连接Linux服务器了。在Windows系统上,需要使用SSH客户端工具进行连接,在Linux和MacOS系统上,可以使用终端进行连接。以下是在Linux和MacOS系统上连接SSH命令: ``` $ ssh username@ip_address ``` 其中,username为连接的用户名,ip_address为连接的服务器IP地址。在输入命令后,会提示输入用户密码。当连接成功后,就可以在终端中输入命令,执行相关操作了。 使用SSH远程连接Linux服务器有很多好处,比如可以方便地在本地终端操作和管理服务器,也可以在不同的地方快速连接到相同的服务器,避免重新配置环境。但是需要注意的是,SSH协议虽然可以保证数据传输的安全性,但是如果密码泄露,仍然会带来风险。因此,建议在使用SSH协议连接服务器时,使用SSH密钥对进行认证,以提高安全性。
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

叁 柒

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值