教你如何『SSH』远程连接『内网』服务器

这篇具有很好参考价值的文章主要介绍了教你如何『SSH』远程连接『内网』服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

最近博主实验室要搬家,因为服务器只有连接内网才能使用,所以搬走之后就无法在公网连接使用服务器,确实是让人非常苦恼,所以本文将会主要讲解如何使用公网服务器 SSH 连接内网服务器

系统配置

  • 内网服务器:Ubuntu 18.04
  • 公网服务器:CentOS 7.9

方案

下面汇总公网访问内网服务的各种方式

1、使用 TeamViewer 等远程桌面。但是需要双方都要安装TeamViewer软件,且版本要一致。虽然可用,但是比较麻烦

2、使用花生壳软件进行DDNS解析。虽然可用,但免费版本有带宽限制,使用效果不理想。

3、搭建 frp 服务器进行内网穿透。可以达到不错的速度,且可以开放任何想要的端口,可以让处于内网或防火墙后的设备对外界提供服务,它支持HTTP、TCP、UDP等众多协议,推荐使用。

综上所述,本文将会在公网服务器搭建 frp 服务,进行内网穿透,达到 SSH 连接内网服务器的效果

教你如何『SSH』远程连接『内网』服务器,运维笔记,frp,内网穿透,内网服务器,内网代理,内网通信

介绍

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网

注:内网穿透,简单地说就是内网的数据让外网可以获取,可以映射到公共网络上,这样就可以在公共网络上访问内网的数据。

官网仓库:fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. (github.com)

官方文档:文档 | frp (gofrp.org)

安装部署

本文对应官方文档:通过 SSH 访问内网机器 | frp (gofrp.org)

下载

我们需要分别在客户端和服务端下载 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

展示文件内容

# ls -l
total 30784
-rw-r--r--. 1 1001 docker    11358 Aug 14 12:09 LICENSE
-rwxr-xr-x. 1 1001 docker 14290944 Aug 14 12:04 frpc
-rw-r--r--. 1 1001 docker      126 Aug 14 12:09 frpc.ini
-rw-r--r--. 1 1001 docker    12669 Aug 14 12:09 frpc_full.ini
-rwxr-xr-x. 1 1001 docker 17186816 Aug 14 12:04 frps
-rw-r--r--. 1 1001 docker       26 Aug 14 12:09 frps.ini
-rw-r--r--. 1 1001 docker     5933 Aug 14 12:09 frps_full.ini

其中 frpc 是内网服务器用的,frps 是公网服务器用的

配置

最后我们需要填写配置文件,首先我们修改公网服务器上的 frps.ini 文件

# frps
[common]
bind_port = 7000

然后在内网服务器上修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x

# frpc
[common]
# tls_enable 防止启动报错 login to server failed: EOF
tls_enable = true
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

注:公网服务器需要开启 6000 7000 端口防火墙和安全组配置

最后分别启动客户端和服务端

# 服务端
./frps -c ./frps.ini
# 客户端
./frpc -c ./frpc.ini

然后我们在本地使用 SSH 访问内网机器,假设使用 test 用户连接

ssh -oPort=6000 test@x.x.x.x
# 或是
ssh test@x.x.x.x:6000

frp 会将请求 x.x.x.x:6000 的流量转发到内网机器的 22 端口

系统配置

最后我们可以通过 systemd 启动服务并且配置开机自启,方便后续操作

官方配置文档:使用 systemd | frp (gofrp.org)

服务端

首先我们可以在 frp 服务端创建并编辑 frps.service 文件

vim /etc/systemd/system/frps.service

写入内容

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini

[Install]
WantedBy = multi-user.target

其中复制文件命令如下

cp ./frps /usr/bin/frps
mkdir /etc/frp
cp ./frps.ini  /etc/frp/frps.ini

常用命令

# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps

配置 frps 开机自启

systemctl enable frps

客户端

此处与服务端配置基本类似,所以简单叙述

vim /etc/systemd/system/frpc.service
[Unit]
Description = frp client
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini

[Install]
WantedBy = multi-user.target
sudo cp ./frpc /usr/bin/frpc
sudo mkdir /etc/frp
sudo cp ./frpc.ini  /etc/frp/frpc.ini
sudo systemctl start frpc
sudo systemctl enable frpc

参考链接

  • 如何从外网SSH连接内网服务器? - 知乎 (zhihu.com)
  • 如何在家连接实验室服务器 - 知乎 (zhihu.com)
  • 机器学习 - 在家如何访问内网机器? - 个人文章 - SegmentFault 思否
  • 怎么在家远程连接实验室的服务器-火山引擎 (volcengine.com)
  • 给实验室服务器配置内网穿透,避免内网尴尬,在家也能用服务器~_内网使用realvnc-CSDN博客
  • 如何让你的 Web 项目实现内网穿透 (freecodecamp.org)

本文由博客一文多发平台 OpenWrite 发布!文章来源地址https://www.toymoban.com/news/detail-713019.html

到了这里,关于教你如何『SSH』远程连接『内网』服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 无需公网IP,在家SSH远程连接公司内网服务器「cpolar内网穿透」

    无需公网IP,在家SSH远程连接公司内网服务器「cpolar内网穿透」

    转载自cpolar内网穿透的文章:无公网IP,SSH远程连接Linux CentOS【内网穿透】 本次教程我们来实现如何在外公网环境下,SSH远程连接家里/公司的Linux CentOS服务器,无需公网IP,也不需要设置路由器。 【SSH远程服务器】在外远程连接Linux服务器「无公网IP」 cpolar官网:https://www.

    2024年02月05日
    浏览(16)
  • 使用VSCode SSH公网远程连接本地服务器开发 - cpolar内网穿透

    使用VSCode SSH公网远程连接本地服务器开发 - cpolar内网穿透

    转发自cpolar极点云的文章:【Vscode远程开发】使用SSH远程连接服务器 「内网穿透」 远程连接服务器工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无法

    2024年02月06日
    浏览(21)
  • 使用 VSCode SSH 公网远程连接本地服务器开发 - cpolar内网穿透

    使用 VSCode SSH 公网远程连接本地服务器开发 - cpolar内网穿透

    转发自cpolar极点云的文章:【Vscode远程开发】使用SSH远程连接服务器 「内网穿透」 远程连接服务器工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无法

    2024年02月07日
    浏览(18)
  • Windows SSH远程连接Linux服务器 - 无公网IP内网穿透

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

    转发自CSDN远程穿透的文章:【vscode远程开发】使用SSH远程连接服务器 「内网穿透」 远程连接服务器工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无

    2024年02月04日
    浏览(23)
  • 使用GoLand通过SSH远程连接服务器,并结合内网穿透工具实现远程办公

    使用GoLand通过SSH远程连接服务器,并结合内网穿透工具实现远程办公

    本文主要介绍使用GoLand通过SSH远程连接服务器,并结合cpolar内网穿透工具实现远程办公。 GoLand 是由 JetBrains 推出的一款专为Go语言开发设计的 集成开发环境(IDE) 。它集成了多种高级功能,包括但不限于智能代码补全、代码分析和高级调试功能。可以帮助编写Go语言更加便捷

    2024年01月22日
    浏览(38)
  • 【VsCode远程开发】Windows SSH远程连接Linux服务器 - 无公网IP内网穿透

    【VsCode远程开发】Windows SSH远程连接Linux服务器 - 无公网IP内网穿透

    转发自CSDN远程穿透的文章:【vscode远程开发】使用SSH远程连接服务器 「内网穿透」 远程连接服务器工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无

    2024年02月02日
    浏览(18)
  • SSH远程连接macOS服务器:通过cpolar内网穿透技术实现远程访问的设置方法

    SSH远程连接macOS服务器:通过cpolar内网穿透技术实现远程访问的设置方法

    macOS系统自带有Secure Shell 客户端,它可让您登录到侦听传入SSH连接的远程服务器和台式机。我们可以用 ssh username@ip 来ssh到服务器,但通常局限于局域网内的远程。 本次教程,我们将使用cpolar内网穿透工具,映射ssh服务默认端口:22端口,获取公网地址,实现在公网环境下的

    2024年02月10日
    浏览(19)
  • 无需公网IP 使用SSH远程连接Linux CentOS服务器【内网穿透】

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

    本次教程我们来实现如何在外公网环境下,SSH远程连接家里/公司的Linux CentOS服务器,无需公网IP,也不需要设置路由器。 公网SSH远程Linux CentOS服务器【内网穿透】 cpolar官网:https://www.cpolar.com/ cpolar支持一键自动安装脚本 cpolar 安装(国内使用) 或 cpolar短链接安装方式:(国外

    2024年02月03日
    浏览(25)
  • 使用VScode SSH公网远程连接本地服务器开发【无公网IP内网穿透】

    使用VScode SSH公网远程连接本地服务器开发【无公网IP内网穿透】

    远程连接服务器工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无法直接查看… 而vscode可以很好的解决这些问题,它的核心组件都运行在远程环境中,

    2024年02月11日
    浏览(19)
  • 【VsCode】SSH远程连接Linux服务器开发,搭配cpolar内网穿透实现公网访问(1)

    【VsCode】SSH远程连接Linux服务器开发,搭配cpolar内网穿透实现公网访问(1)

    远程连接服务器的工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无法直接查看。 而vscode可以很好的解决这些问题,它的核心组件都运行在远程环境中

    2024年02月11日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包