| 阿里云ECS | 内网机A | 内网机B |
|---|---|---|
| 公网IP: 47.99.xxx.xxx | IP: 202.38.xxx.xxx | IP:222.195.xxx.xxx |
| 用户名: aaa/aaa | 用户名: bbb/bbb | 用户名:ccc/ccc |
| ubuntu18 | ubuntu18 | win10 |
-
需要在阿里云ECS上开发一些端口
''网络与安全组“->"安全组配置"->"选择实例"->"配置规则", 需要开放入方向和出方向的端口,本次开放了2333-2433之间的全部端口.
在“安全组规则” -》 “访问规则”里在入方向和出方向里同时增加TCP和UDP协议的开发端口2333/2433.
网络类型 授权方向 授权策略 IP协议 端口范围 优先级 源IP地址段 源IPv6地址段 源安全组 源端安全组名称 源安全组所属阿里云账户ID 源端端口范围 目标IP地址段 intranet ingress Accept UDP 2333/2433 1 0.0.0.0/0 intranet ingress Accept TCP 2333/2433 1 0.0.0.0/0 intranet ingress Accept TCP 3389/3389 100 0.0.0.0/0 intranet ingress Accept TCP 22/22 100 0.0.0.0/0 intranet ingress Accept ICMP 1 100 0.0.0.0/0 1 intranet egress Accept UDP 2333/2433 1 0.0.0.0/0 intranet egress Accept TCP 2333/2433 1 0.0.0.0/0 修改阿里云ECS上SSH配置文件 /etc/ssh/sshd_config 将"GatewayPorts Yes"设为yes。 service ssh restart
-
将内网机A和内网机B的ssh公钥上传到阿里云ECS上:
# 在内网机A上执行下面命令$ ssh-keygen$ ssh-copy-id root@47.99.xxx.xxx?$ sudo apt install autossh
-
设置内网机A的反向代理
$ autossh -M 12345 -fgnvNTR 47.99.xxx.xxx:2333:localhost:22 aaa@47.99.xxx.xxx -o ServerAliveInterval=1 -
在内网机B上远程连接内网机A
-
$ ssh bbb@47.99.xxx.xxx -p 2333?注意:此时的user是内网机A的用户名,因此待会输入的密码是user的密码. IP是公网机的IP。登录成功后在阿里云ECS上执行lsof -i:2333 可以看到如下信息:root@iZbp15flh0q5ay0cugwahlZ:~# lsof -i :2333COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 1358 root 9u IPv4 28364 0t0 TCP *:2333 (LISTEN)sshd 1358 root 10u IPv4 29393 0t0 TCP iZbp15flh0q5ay0cugwahlZ:2333->222.195.xxx.xxx:38434 (ESTABLISHED)
-
-
设置内网机A的autossh自启动
sudo vim /etc/systemd/system/autossh.service编写如下信息:?[Unit]Description=autosshAfter=network-online.target?[Service]?Environment="AUTOSSH_GATETIME=0"User=userAWorkingDirectory=/home/userAExecStart=/usr/bin/autossh -M 12345 -gnvNTR 47.99.xxx.xxx:2333:localhost:22 aaa@47.99.xxx.xxx -o ServerAliveInterval=1?[Install]WantedBy=multi-user.target注意: 参数为
-gnvNTR而不是-fgnvNTR,因为在systemctl中不支持f参数,不要复制粘贴错了,会无法运行的sudo systemctl daemon-reloadsudo systemctl start autossh.servicesudo systemctl enable autossh.service?sudo systemctl status autossh
参考链接:
Ubuntu 阿里云 ssh反向代理 内网穿透 autossh自启动