栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

autossh实现内网穿透

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

autossh实现内网穿透

autossh 作用

实现内网穿透,之前用过ssh反向代理,但是ssh反向代理在网络不稳定的环境下面就会很麻烦,连接断开后还要自己手动连接,为了实现稳定的ssh反向代理穿透,了解到了autossh,autossh会用一个特定的端口监视ssh反向代理端口,从而实现稳定的连接,在网络不好的时候会自动连接。

配置

实现内网穿透首先需要一个外网的主机,内网主机在启动后先和外网主机之间建立隧道,后续访问从这个隧道来访问内网主机,所以需要一台外网主机和一台内网主机。

配置外网主机

更改本地ssh监视端口,原本只能127.0.0.1监视本地ssh,现在需要让任意端口都可以监视ssh端口。

在外网服务器中更改ssh配置。ssh配置在 /etc/ssh/sshd_config 。需要将其中的#GatewayPorts no

更改成GatewayPorts yes,来让任何ip都可以监视ssh连接。

重启ssh服务,使得配置生效。

sudo service sshd restart

配置内网主机 安装autossh
sudo apt install autossh
配置免密登录

为了维护连接,每次输入密码会很麻烦,所以配置成免密连接会很方便。

在内网主机生成密钥。

ssh-keygen

将密钥拷贝到外网主机。

ssh-copy-id username@ip

username是外部主机的用户名,ip是外部主机的ip。

开启autossh
autossh -M 2223 -fNR 2222:localhost:22 username@ip

参数:

-M 2223 2223是用于监视连接的隧道的端口,通过这个端口来维护ssh连接。-f 后台运行服务-N 不执行远程命令-R 将远程主机的端口转发到本地端口,后面的2222就是外网的端口,localhost后面的是本地的端口。 开机自启

上面的隧道在重启后是不存在的,需要我们重新建立,所以需要配置成开机自启。

开机执行的脚本在/etc/rc.local 。

添加在特定用户下执行的脚本

su -c 'autossh -M 2223 -fNR 2222:localhost:22 username@ip' <本地用户> &
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/705509.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号