
我有一個用例,我有 6 個樹莓派位於私人防火牆後面,我需要從本機系統存取它們。所以我想出如下圖的架構
- 從我的 rpi 反向 ssh 到我的雲端伺服器的特定端口
並使用我的雲端伺服器作為跳轉盒(SSH ProxyJump)從我的本機系統連接到 rpi
Firewall +--------+ | +---------+ +----------------+ | Rpi 1 |-> 2101/tcp ->| -> | | <- 22/tcp - | Local System 1 | +--------+ | | | +----------------+ | | | +--------+ | | Cloud | +----------------+ | Rpi 2 |-> 2201/tcp ->| -> | Server | <- 22/tcp - | Local System 2 | +--------+ | | | +----------------+ ... | | | +--------+ | | | +----------------+ | Rpi 6 |-> 2601/tcp ->| -> | | <- 22/tcp - | Local System 3 | +--------+ | +---------+ +----------------+
最初,我使用直接 SSH 命令,但遇到了一些問題,例如連接在一段時間後變得陳舊且無響應。所以,我搬到了autossh
。我開始systemd
做這個操作。
autossh -Nf -M 0 -o ServerAliveInterval=120 -o ServerAliveCountMax=3 -R 2101:127.0.0.1:22 root@my-server-ip
這對我的 6 台設備來說效果很好。但是當我嘗試連接更多設備時,隧道似乎沒有連接(即)從 rpi 建立的隧道,但netstat -lnpt
雲端伺服器上沒有任何內容。
現在我需要知道這是否是解決該用例的正確方法。有鑑於此,6 rpi 的計數將來可能會增加到 20 或 30。有什麼改進建議嗎?