我们用daemontools来控制ssh tunnel确保tunnel能在意外断开后主动连接上。在daemon中做tunnel最大的问题就是如何输入密码。这个问题可以使用以前的 ssh-attach 脚本来解决。
首先创建一个连接脚本(tunnel.sh):
#!/bin/sh
HOME=/home/jianingy
eval `$HOME/bin/ssh-attach`
ssh -p 23456 -b 0.0.0.0 -R 12345:localhost:143 xxx.xxx.xxx.xxx "vmstat 60"
再建立daemontools的run脚本:
#!/bin/sh
exec setuidgid jianingy ./tunnel.sh
用加载ssh-agent的用户(这里是jianingy)来执行tunnel.sh(即用setuidgid jianingy在指定),酱紫tunnel.sh中调用的ssh-attach便能复用已有的ssh-agent了,保证tunnel连接无须输入密码.

Recent Comments