通过阿里云ECS访问家庭电脑

文章目录

环境

1)阿里云ECS远程主机8.140.111.41,开启了sshd服务,在22端口进行监听;用户root;
2)家庭树莓派192.168.18.13,开启了sshd服务,在22端口进行监听;可以连通外网,连接远程主机;用户pi;
3)一台测试机,可以通过网络,连接远程主机;

操作步骤

1)远程主机8.140.111.41:修改sshd_config配置

ssh root@8.140.111.41
vim /etc/ssh/sshd_config
#AllowTcpForwarding yes ##modify content
#GatewayPorts yes       ##modify content

通过阿里云ECS控制面板,修改远程主机的开放端口10022或其他端口;
2)家庭树莓派192.168.18.13:连接远程主机,并将22端口开放到远程主机的10022端口

ssh -g -R :10022:127.0.0.1:22 root@8.140.111.41

检查远程主机10022是否处于监听状态

ssh root@8.140.111.41
#method 
netstat -plant
#tcp        0      0 0.0.0.0:10022           0.0.0.0:*               LISTEN      3152/sshd: root@pts
lsof -p 3152 | grep TCP
#sshd    3319 root    3u  IPv4              50579      0t0    TCP iZ2ze8tuatzv95s2dt0bxrZ:ssh->www217.asd.tj.cn:25941 (ESTABLISHED)
#sshd    3319 root    8u  IPv4              50837      0t0    TCP *:10022 (LISTEN)

3)测试机,连接远程主机,用pi登录;

ssh -p 10022 pi@8.140.111.41

可能遇到的问题

1)家庭树莓派连接到远程主机(同时暴漏树莓派22端口后),长期未连接可能导致远程主机连接树莓派22端口的连接中断
分析:树莓派连接远程主机的ssh通路是连通的,通过netstat和lsof能看到远程主机下TCP连接也是连通的,但通过远程主机ssh树莓派却没有反应,推断:远程主机连接树莓派22端口的连接被树莓派中断了。
sshd_config文件中ClientAliveInterval定义了,ssh服务端主动检测ssh连接活动状态的周期,如果ClientAliveInterval秒内Client没有发起连接,Server会发起通信检测包,如果收到Client响应,则不断开连接,否则根据规则,连续n次未收到回复,断开连接。
解决办法,在树莓派上,修改/etc/ssh/sshd_config

ClientAliveInterval 5

引用

利用阿里云ECS跳板机内网穿透- ssh
SSH原理与运用(二):远程操作与端口转发
SSH 端口转发
Prevent closing of SSH Local Port Forwarding
Keeping SSH Sessions Alive

上一篇:第七章 FreeBSD之开启SSH服务


下一篇:Linux远程访问及控制