Linux 设置 ssh 内网穿透

news/2024/11/22 18:01:50/

背景:有三台机器A、B、C,机器 A 位于某局域网内,能够连接到互联网。机器 B 有公网 IP,能被 A 访问到。机器 C 位于另外一个局域网内,能够连接到互联网,能够访问 B。

目标:以 B 为中介,让 C 能够直接通过 ssh 连接到 A。

实现方法:使用 SSH 构建内网穿透隧道

1. 修改机器 B 的 /etc/ssh/sshd_config,设置 GatewayPorts yes

2. 在机器A的 ~/.ssh/authorized_keys 中添加机器 B 和机器 C 的公钥。如果希望机器 A 能够无密码访问机器 B,可以将机器 A 的公钥添加到机器 B 的 ~/.ssh/authorized_keys 中,否则不要添加,不添加则在A上使用 ssh -NR 建立隧道时需要输入机器 B 的密码。

3. 在机器 A 上使用如下命令建立隧道:

ssh -NR [X1]:[X2]:[X3] [X4]@[X5]X1:机器B用于构建隧道的端口X2:机器A的localhost,可以写为 0.0.0.0X3:机器A的端口,表示希望机器C经过隧道访问到的A的端口,对于ssh连接,使用22端口X4:机器B用于构建隧道的用户的用户名X5:机器B的ip

4. 使用机器 C 连接机器 A:

ssh -p [X1] [X6]:[X5]X6:希望登录到机器 C 的用户名,注意该用户不是机器 B 上的用户,而是机器 C 上的用户

注意事项:

需要检查防火墙是否开放对应端口


http://www.ppmy.cn/news/1035604.html

相关文章

ASP.NET WEB API通过SugarSql连接MySQL数据库

注意:VS2022企业版可以,社区版可能存在问题。实体名称和字段和数据库中的要一致。 1、创建项目,安装SqlSugarCore、Pomelo.EntityFrameworkCore.MySql插件 2、文件结构 2、appsettings.json { “Logging”: { “LogLevel”: { “Default”: …

给对象添加新的属性

使用点 let obj {} obj.name "zy"使用方括号 let obj {} obj[name] "zy"使用assign 也以用来复制对象。 Object.assign({},{name:zy,age:10})扩展运算符 ES6新增语法,可以将两个对象合并成一个对象。 let obj1 {appid:"office&…

如何卖 Click to WhatsApp 广告最有效

2022年,大多数直接面向消费者的品牌都面临相同挑战—— Facebook 和 Instagram 的广告成本大幅增加。Business Insider 报导指出,2021年 Facebook 广告每次点击的平均成本(average cost per click)达到0.974美元,按年升…

【Spring中MySQL连接错误】Cannot load driver class: com.mysql.cj.jdbc.Driver

Caused by: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method ‘dataSource’ threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver Caused by: java.lang.IllegalState…

XXLJOB 怎么用

目录 1、数据库执行sql语句,建立表 2、配置Admin ,连接xxl_job数据库 3、启动admin,访问 http://localhost:8080/xxl-job-admin 4、需要定时任务的微服务里导入依赖 5、配置yml(admin地址,执行器名字 端口&#x…

算法|Day39 动态规划7

LeetCode 70- 爬楼梯 (进阶) 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目描述:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可…

分块 莫队

CF940F Machine Learning 莫队维护区间每个数字出现的次数,维护某个出现次数是否出现过,暴力枚举mex即可,易证每次枚举最多 n \sqrt n n ​次 CF375D Tree and Queries 树转链,莫队维护区间每个颜色出现的次数,如果再…

C# 随心记

#region 批量保存到数据库 public bool InsertDB(DataTable dt) { bool bResult true; LogInfo.WriteTextToFile("使用Bulk插入的实现方式"); Stopwatch sw new Stopwatch(); using (SqlConnecti…