从外网访问内网服务器:安装到使用一站通

如果你所在的是一个小的实验室,可能并没有大型的服务器集群而是仅是配备了小型服务器,日常工作便是在在局域网内访问服务器进行各项数据处理。因为在外网无法访问内网服务器,极大的限制了我们偶尔在外想监测一下数据的欲望。本文介绍了一种简单易用的方法,按照步骤逐步操作即可解决此问题,从此随时随地查看工作进度不是梦,哈哈~

本文要解决的问题

  1. 如何在 Linux 服务器上安装/启动/使用 nat123?
  2. 如何实现外网访问内网的 Linux 服务器?
  3. 分享一些 iTem2 的使用技巧。

关键词

  • linux
  • nat123
  • iTerm2

服务器操作

1.安装必要的软件

sudo apt-get install mono-complete

2.安装 Nat123 客户端

首先你需要注册一个 Nat123 账户,获得用户名和密码。除了下面的方式,你也可以选择到网站上下载再上传至服务器。

mkdir nat123 && cd nat123
wget http://www.nat123.com/down/nat123linux.tar.gz
tar -zxvf nat123linux.tar.gz

3.启动 Nat123 客户端

mono nat123linux.sh

按提示依次输入自己的账户和密码。(以后后台启动服务只需输入mono nat123linux.sh service &

设置端口映射

  1. 登录网站 Nat123 账户
  2. 依次点击:用户中心 → 端口映射添加

-w300

-w550

 说明:

  • 内网端口:SSH 端口号
  • 内网地址:即内网 IP。
  • 外网端口:新增时自动分配的可用端口,无需自己设置。
  • 外网域名:可免费提供也可自己修改。

注意:点击确认保存时,会需要 T 币不为0或实名认证,但实名认证的方式仍是需要你通过支付宝购买 T 币。 这里我为了节约时间,就选择花了8块钱买了80个 T 币(购买的最小额度)。点击确认保存后,可以看到以下界面:

-w650

 这就表明大功告成啦!

客户端使用

这里以 item2 为例,其他 ssh 软件配置很类似。

  1. 打开 iTerm2
  2. 输入ssh -p 41795 username@490873a6.nat123.cc,此处的 username 即在你在日常使用服务器时的登录名
  3. 提示输入密码,输入后回车,OK!

iTerm2 使用技巧

设置好 Profiles,管理多个登录配置

 经过上面的配置,每次需要登录时只要选择一个 Profile 配置,不需要每次都重新输入一大串命令。这已经极大地提高了日常工作的效率,但仍旧是不完美的。由于 ssh 命令不提供密码这个参数,每次登录仍旧需要手动输入密码。于是我们还需要下面的大招

如何让 iTerm2 免密码登录?

这里采用密钥对的方法。操作主要分两个部分:用户端 & 服务器端。

用户端:
  1. 执行ssh-keygen -t rsa -C 'your_email@domain.com'
  2. 以上命令会生成两个文件: id_rsa以及id_rsa.pub
  3. 查看id_rsa.pub文件:

 复制此文字(即密钥)。

服务器端:

echo <复制文字> » ~/.ssh/authorized_keys

经过以上操作,再次登录时会发现不需要再输入密码啦~

如何保持 iTerm2 不断开?

在日常使用中,还发现有个问题:一段时间不操作 iTerm,它竟然提示连接失败了?!于是不得不再一次重复以上的登录操作。偶然间发现这个问题也有解决方案,不忍回忆我那些一遍遍重复登录的日子(微笑脸)。

一共就两步:

  • 修改配置文件。(不存在可以新建一个)
vi ~/.ssh/config
  • 追加内容。
Host *ServerAliveInterval 60

表示 ssh 客户端每隔30秒给远程主机发送一个 no-op 包(no-op 即无任何操作),这样远程主机就不会关闭这个 SSH 会话。

参考资料

外网SSH怎么访问内网LINUX
Mac下使用iTerm2让SSH免密码登录远程服务器
iTerm2的使用
配置ssh密钥认证自动登录【经验】从外网访问内网服务器:安装到使用一站通 (woaielf.github.io)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/583152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

策略模式(及案例)

策略模式 1.策略接口 定义一组算法或操作的通用接口&#xff0c;通常是一个抽象类或接口。该接口声明了策略类所必须实现的方法。 示例&#xff1a; class Strategy {doOperation() {} }2.具体策略 实现策略接口&#xff0c;提供具体的算法实现。每个具体策略类负责处理一…

二、C#基础语法( 函数与方法)

在C#语言中&#xff0c;函数和方法都是用于实现特定功能的代码块。虽然它们有一些相似之处&#xff0c;但它们在使用和定义上有一些细微的差别。 函数&#xff08;Functions&#xff09; 函数在C#中是独立的功能单元&#xff0c;执行特定操作并返回一个值。函数的定义以关键字…

postman win7 低版本 postman7.0.9win64 postman7.0.9win32

百度网盘&#xff1a; postman7.0.9win64&#xff1a; 链接: https://pan.baidu.com/s/18ck9tI0r9Pqoz36MOwwnnQ 提取码: rkf7 postman7.0.9win32&#xff1a; 链接: https://pan.baidu.com/s/1HrpGPrgvVzyAcjdHuwVOpA 提取码: ke5k win7系统安装postman&#xff0c;可能会…

postman使用-04响应

文章目录 响应响应界面说明Pretty&#xff1a;格式化显示&#xff0c;以便查看Raw&#xff1a;不进行任何处理&#xff0c;显示响应数据的原始格式Preview&#xff1a;预览响应体&#xff0c;会自动换行&#xff0c;不会格式化&#xff08;有时候是数据&#xff0c;有时候是页面…

leetcode151. 反转字符串中的单词

题目描述 给你一个字符串 s &#xff0c;请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意&#xff1a;输入字符串 s中可能会存在前导…

测试-FastJSON和Jackson-JSON库

文章目录 FastJSONJackson注意 FastJSON 直接读代码&#xff1a; Log4j2 public class FastJsonTest {Testpublic void test1() {// JSON转对象-parseObjectString jsonString "{\"name\":\"张三\",\"age\":18}";Student student …

实战 | 使用OpenCV快速去除文档中的表格线条(步骤 + 源码)

导 读 本文主要介绍如何使用OpenCV快速去除文档中的表格线条,并给详细步骤和代码。 背景介绍 测试图如下,目标是去除下面三张图中的表格线条,方便后续图像处理。 实现步骤 下面演示详细步骤,以图1为例: 【1】获取二值图像:加载图像、转为灰度图、OTSU二值化 i…

日本it培训班,日本IT大体分几类?

日本是一个老龄化极其严重的国家&#xff0c;拜泡沫经济破灭后的经济停滞所赐&#xff0c;民众取得了节育方面的丰硕成果&#xff0c;然而当经济终于走出阴霾&#xff0c;呈现复苏迹象时&#xff0c;短缺的劳动力又成了一大问题&#xff0c;拖累整个经济的步伐。为了应对劳工市…

仪表盘、数据分析新增分享功能及应用服务下新增服务实例菜单

近期&#xff0c;博睿数据根据一体化智能可观测平台 Bonree ONE 产品本身&#xff0c;以及用户反馈进行持续的更新和优化。以下为 Bonree ONE 产品功能更新报告第03期内容&#xff0c;更多探索&#xff0c;未完待续。 本次迭代的更新集中在平台的仪表盘、数据分析新增分享功能&…

C++面向对象(OOP)编程-C++11新特性详解

C11作为一个重要的版本&#xff0c;引入了很多新的特性&#xff0c;解决了C语言本身很多遗留的内存泄露问题&#xff0c;并且提供了很多比较灵活的用法。引入的auto&#xff0c;智能指针、线程机制都使得C语言的灵活性、安全性、并发性有了很大的提升。 本文会比较详细的介绍C1…

Kubernetes 学习总结(41)—— 云原生容器网络详解

背景 随着网络技术的发展&#xff0c;网络的虚拟化程度越来越高&#xff0c;特别是云原生网络&#xff0c;叠加了物理网络、虚机网络和容器网络&#xff0c;数据包在网络 OSI 七层网络模型、TCP/IP 五层网络模型的不同网络层进行封包、转发和解包。网络数据包跨主机网络、容器…

IntelliJ IDE 插件开发 | (四)开发一个时间管理大师插件

系列文章 IntelliJ IDE 插件开发 |&#xff08;一&#xff09;快速入门IntelliJ IDE 插件开发 |&#xff08;二&#xff09;UI 界面与数据持久化IntelliJ IDE 插件开发 |&#xff08;三&#xff09;消息通知与事件监听IntelliJ IDE 插件开发 |&#xff08;四&#xff09;开发一…

未来编程语言什么样?编译解释兼方为王

○、编程语言的未来&#xff1f; 随着科技的飞速发展&#xff0c;编程语言在计算机领域中扮演着至关重要的角色。它们是软件开发的核心&#xff0c;为程序员提供了与机器沟通的桥梁。那么&#xff0c;在技术不断进步的未来&#xff0c;编程语言的走向又将如何呢&#xff1f; …

storyBook play学习

场景 在官方给出的案例中&#xff0c; Page.stories.js import { within, userEvent } from storybook/testing-library import MyPage from ./Page.vueexport default {title: Example/Page,component: MyPage,parameters: {// More on how to position stories at: https:/…

使用Mybatis-plus分页查询的Total与实际条数不对应

现象 对于单表查询是没有问题的。而需要多表关联查询&#xff08;自写sql&#xff09;时&#xff0c;就会查询调用Mybatis-Plus的.page(Page page,Wrapper queryWrapper); 可以看到后台实际执行sql有两个。 一个是查询sql的数据&#xff1a; selectvisit.id as id,visit.rfi…

Java中常见的日志包分析(Log4j、Logback、SLF4J等)

Java中常见的日志jar包包括Log4j、Logback、SLF4J、java.util.logging等。它们各自的作用和应用场景如下&#xff1a; 1. Log4j 作用&#xff1a;Log4j是Apache的一个开源项目&#xff0c;提供日志记录的功能&#xff0c;支持多种输出目的地&#xff0c;如控制台、文件、GUI组…

【银行测试】金融银行-理财项目面试/分析总结(二)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 银行理财相关的项…

再谈小米汽车

文章目录 1. 外观2. 电机3. 电池4. 风阻5. 强度6. 智能驾驶 我在两年前分析过小米造车的形势&#xff0c;大家可以 点击这里查看。今天小米官宣传了新汽车。看一下它公布的主要信息&#xff1a; 1. 外观 汽车外观是向保时捷致敬&#xff0c;因此它的外观特别像保时捷。不过外…

CSS 纵向扩展动画

上干货 <template><!-- mouseenter"startAnimation" 表示在鼠标进入元素时触发 startAnimation 方法。mouseleave"stopAnimation" 表示在鼠标离开元素时触发 stopAnimation 方法。 --><!-- 容器元素 --><div class"container&q…

Spark编程范例:Word Count示例解析

Apache Spark是一个强大的分布式计算框架&#xff0c;用于处理大规模数据。Word Count示例是Spark入门教程中的经典示例&#xff0c;旨在展示如何使用Spark来进行简单的文本处理和数据分析。本文将深入解析Word Count示例&#xff0c;以帮助大家更好地理解Spark的基本概念和编程…