树莓派+SSH反向代理实现远程开机

时间:2024-04-04 19:19:41

      之前购买的向日葵开机棒出现了bug,客服给解决不了,想跟客服通个电话,客服表示不提供电话服务,无语。结果只能放在一边吃灰了。转念一想家里的树莓派可以用作远程唤醒,但是需要解决一个问题,就是内网穿透。何如访问树莓派来唤醒局域网的主机是个问题。我这种实现方法有2个要求:

1.有一个公网上的服务器,我的是腾讯云的学生机

2.需要远程唤醒的主机支持WOL(在BIOS中有WOL开关的选项,网卡可以选择唤醒设备)

环境差不多就是这样的

树莓派+SSH反向代理实现远程开机



1.首先在树莓派上安装Etherwake用作网络唤醒

#apt install etherwake

查看需要唤醒的主机网卡MAC,我需要唤醒的是一台windows主机,WIN+R输入cmd回车,在CMD界面输入ipconfig /all,找到物理网卡,记录下其MAC地址

树莓派+SSH反向代理实现远程开机



2.关机之后尝试用树莓派唤醒

#etherwake 11:22:33:44:55:66(之前记录的网卡mac地址,注意格式,win上是-连接,这里要换成:)

这里我报错了

SIOCGIFHWADDR on eth0 failed: No such device

因为我的环境是Ubuntu mate系统,网卡默认不是eth0,这里输入ifconfig看一下网卡名称

树莓派+SSH反向代理实现远程开机

修改命令带上接口选项

#etherwake -i enxb827eb610cce(刚刚查询的网卡名) 11:22:33:44:55:66

这个时候如果成功唤醒主机,任务已经完成了一半。


3.修改树莓派和VPS的sshd配置,以防ssh回话超时

#vim /etc/ssh/sshd_config

添加以下两行:

ClientAliveInterval 60

ClientAliveCountMax 3

#service sshd restart

以上操作在树莓派和VPS都做。


4.配置SSH反向代理

在树莓派上

raspberry_pi#ssh -fCNR  9123(自己设定一个端口):localhost:22 [email protected](VPS公网地址)

在VPS上

vps#ssh -p 9123(之前设定的端口) [email protected]

这个时候成功ssh到树莓派上就算成了

之后etherwake成功唤醒主机,配合teamviewer或者向日葵这类远控软件就能实现远程开机+远控了。


参考文献:https://www.cnblogs.com/kwongtai/p/6903420.html