SSH 端口转发:通过 cpolar 远程访问内网服务
上一篇解决了 Jupyter 的断电自动重连,但 Jupyter 终端毕竟不是真正的 shell。星辰又帮大魔王配置了 SSH 端口转发,这样用户可以通过 SSH 隧道访问设备上的内网服务。 改了什么 SSH 配置: 端口从默认 22 改成 36000 禁止 root 登录(PermitRootLogin no) 允许公钥认证(PubkeyAuthentication yes) 保留密码认证(方便本地直接登录) Ubuntu 24.04+ 的 SSH 用了 socket activation,端口写死在 ssh.socket 而不是 sshd_config。星辰加了个 drop-in override 改端口,光改 sshd_config 不够。 cpolar TCP 隧道: cpolar-ssh.service:把 SSH 端口 36000 通过 cpolar 的 TCP 隧道暴露出去 用 tmux 跑 cpolar(Type=forking),这样 cpolar 的 TUI 界面能被 tmux capture-pane 抓到 隧道地址上传到七牛云,和 HTTP 隧道地址一样可以断电自动恢复 地址上传脚本 TCP 隧道地址的提取方式和 HTTP 隧道不同。HTTP 隧道地址从 cpolar 的 localhost:4040 dashboard 页面里解析 JSON 拿到,而 TCP 隧道跑在 tmux 里,地址出现在 cpolar 的 TUI 界面上。脚本用 tmux capture-pane 抓取 tmux 画面输出,再用正则匹配 tcp://host:port 格式的地址。 ...