「树莓派公网远程监控」autossh反向代理

前言

树莓派上安装摄像头对家里进行远程监控,但是仅限于局域网,于是使用反向代理对腾讯云公网服务器进行代理,就可以通过公网远程访问就家里的监控了。

自带ssh

格式

ssh -fNR 公网服务器端口:localhost:端口 root@公网服务器ip #例子 ssh -fN -R 33335:localhost:8080 [email protected] -f:是指后台运行,不会阻塞shell继续向下执行; -N:是指建立的ssh连接只用于转发数据,不解析命令; -R:是指建立反向隧道,一般我们ssh某个服务器是正向隧道; 公网服务器ip端口:是公网服务器上的代理端口; localhost:端口:内网机器ip和端口号(也可以使用127.0.0.1)

交互以及一些问题

1.自带ssh要求输入公网服务器密码

2.会自动断开

autossh

通过一个端口进行“心跳检测”,如果断开会自动连接

配置免密

ssh-keygen #将密钥复制到公网服务器,要求输入公网服务器密码 ssh-copy-id -i .ssh/id_rsa.pub [email protected]

安装

sudo yum install autossh #或 sudo apt-get install autossh

参数

autossh -M 公网服务器检测重连端口 -NR 公网服务器ip端口:localhost:端口 -f root@公网服务器ip #例子 autossh -M -NR 33335:localhost:8080 -f [email protected]

参数与以上一致

公网服务器配置Nginx

总不能用ip裸奔吧。。。

server {  listen 80;  server_name域名;      auth_basic "Please input password";      auth_basic_user_file /usr/share/nginx/passwd/passwd;      location / {          proxy_pass :33335;          }         }

配置Nginx访问密码

auth_basic "Please input password"; auth_basic_user_file /usr/share/nginx/passwd/passwd;

第一行是提示

第二行是密码文件

终端设置密码

htpasswd -c [passwfile] [username]#例子,执行输入密码 htpasswd -c /usr/share/nginx/passwd/passwd san

注意,最后的passwd是一个空文件,使用touch创建

touch passwd

参考

https://www.jianshu.com/p/09fd97f8c43f

https://www.cnblogs.com/xiaobaiskill/p/9803867.html