zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SHH打洞配置

2023-04-18 14:29:51 时间

拿三台机器举例打洞配置讲解

机器

网络环境

用途

SSH服务

A机器

公网IP固定

中转机器

需要

B机器

NAT网络

被访问机器

需要

C机器

任意网络环境

需要访问B机器

不需要

自动连接重试

需要B机器向A机器建立 SSH 反向隧道,命令如下:

autossh -p 22 -M 6777 -NR '*:6766:127.0.0.1:22' usera@a.site

通过 autossh 可以实现连接失败自动重连,*:6766:127.0.0.1:22 是将A机器的6766端口转发到B机器的22端口,usera@a.site 是请求B机器的用户名和地址。

打洞

开启端口转发功能,编辑 sshd 的配置文件 /etc/ssh/sshd_config,增加配置: GatewayPorts yes

另一台机器连接

通过C机器对A机器的6766端口发起连接就会自动被转发到B机器。

ssh -p 6766 userb@a.site

SSH 私钥认证

把请求机器的 ~/.ssh/id_rsa.pub 添加到被请求机器的 ~/.ssh/authorzied_keys 文件中

同时设置文件权限为 chmod 600 ~/.ssh/authorzied_keys

设置后在连接机器的时候就不需要密码了,可以走私钥认证。

守护进程

这里通过 supervisord 配置保证B机器重启后 autossh 能启动。

有固定公网IP的机器

参考:

http://blog.csdn.net/lidongshengajz/article/details/73482908 https://linux.cn/article-5975-1.html