AutoSSH建立SSH隧道,实现内网端口转发

SSH由TatuYlonen于1995年创建,用于加密互联网通信。OpenSSH是其开源实现,广泛应用于Linux。文章介绍了如何通过配置OpenSSH的GatewayPorts和使用autossh进行内网穿透,包括生成密钥、设置端口映射等步骤,以便远程访问内网主机。
摘要由CSDN通过智能技术生成

简介

  • 在早期互联网使用当中,都是使用明文进行通信的,一旦消息被截获,内容就暴露无疑。1995 年,芬兰学者 Tatu Ylonen 设计了 SSH 协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为 Linux 系统的标准配置。
  • SSH 之所以能够保证安全,原因在于它采用了公钥加密。需要指出的是,SSH 只是一种协议,存在多种实现,既有商业实现,也有开源实现。我们这里主要针对的是 OpenSSH 工具,它是自由软件且应用非常广泛。

准备

  • 公网主机VPS一台
  • 内网主机VPS一台

公网主机配置

修改/etc/ssh/sshd_config配置文件,将#GetewayPorts no 改成如下

GetewayPorts yes

在Linux中,ssh的GatewayPorts参数用于控制SSH服务器将哪些IP地址绑定到端口上。通常情况下,SSH服务器只绑定到127.0.0.1本地回环地址上,这意味着只有本地计算机可以通过该端口进行连接。然而,如果设置了GatewayPorts参数,SSH服务器将会绑定到所有可用的IP地址,这将允许远程计算机通过SSH连接到该端口。

具体来说,如果将GatewayPorts设置为yes,则SSH服务器将在所有可用IP地址上绑定到端口上,而如果将其设置为no,则仅在本地回环地址上绑定到端口上。

内网主机配置

1、在内网主机生成密钥。

ssh-keygen

2、使用如下命令将生成的密钥复制到公网主机。

ssh-copy-id -i /root/.ssh/id_rsa.pub -p 22 root@公网主机ip

3、在内网主机安装autossh,如果不能安装需要使用apt update先更新系统软件列表。

 sudo apt-get install autossh

开始测试

autossh -p 22 -M 监听端口 -NR 映射端口:localhost:22 root@公网主机ip

其中的参数:

  • -p 22: 内网vps ssh 端口,默认值22.
  • -M 23451: 中继服务器(vps)的代理服务监听端口,需保证不被vps其它进程占用.
  • -NR 23452:localhost:22: 端口映射,vps的23452端口映射到内网PC的22端口(sshd), 23452即为映射端口.

使用nohup将autossh挂系统后台运行。

nohup autossh -p 22 -M $listen_port -NR $mapped_port:localhost:22 root@$host &

其他

使用netstat -ant 可查看当前监听tcp端口

参考来源:

Autossh - 简书

利用AutoSSH建立SSH隧道,实现内网穿透 | 悟尘记 - 李小龙的博客网站

SSH服务原理和使用技巧 | Escape

SSH原理与运用(一):远程登录 - 阮一峰的网络日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值