SSH Tunnel的systemd service生成脚本

完全是为了方便自己折腾各种跳板写的,比如把家里的aria2、Jupyter Lab等等的映射到公网服务器,用systemd的话,可以实现自启动和出错自动重启,用autossh来替换生成脚本模版里的ssh也行,这个就看个人了。

实际就是这样的感觉~

SSH Tunnel with systemd
SSH Tunnel with systemd

代码在ssh-tunnel

其实可以用一个文件来保存需要的环境变量,上图则是用了/etc/cattery.env这个文件。

环境变量的文件的内容的话,大概类似于下面~

USER=cocoa
REMOTE_PORT=1234
LOCAL_PORT=8080
SSH_IDENTIFICATION_KEY=/home/cocoa/.ssh/id_rsa
PUBLIC_SERVER=1.2.3.4

这样的话,在启动对应的systemd service之后,就会创建一个SSH tunnel,所有发往1.2.3.4:1234的包都会转发到localhost:8080上。

或者也可以只写一部分环境变量,剩余的在提示的时候输入就好。比如

USER=cocoa
REMOTE_PORT=1234
LOCAL_PORT=8080
SSH_IDENTIFICATION_KEY=/home/cocoa/.ssh/id_rsa

然后当提示输入SSH connect host的时候, 就可以写上your_username@your_server_ip

Leave a Reply

Your email address will not be published. Required fields are marked *

19 − 14 =