不多说了,上脚本。
-----------/etc/init.d/sshtunnel------------
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin
CONF="/etc/default/sshtunnel"
source $CONF
if ! [ -x /usr/bin/ssh ]; then
exit 0
fi
start ()
{
echo -n "Starting tunnel.."
ssh -CNq -D "$PROXYPORT" "$USERNAME@$SSHHOST" -p $SSHPORT -o ServerAliveInterval=30 &
echo "done."
}
stop ()
{
echo -n "Stopping tunnel.."
PID=$(netstat -nlp -4 | grep ":$PROXYPORT")
PID=$(echo $PID | sed "s/.*LISTEN\s*\(.*\)/\1/" | cut -f1 -d/)
kill -9 $PID
echo "done."
}
case "$1" in
start|restart)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|clear}"
exit 1
;;
esac
exit 0
-----------------end of file------------------
---------/etc/default/sshtunnel----------
PROXYPORT=7777
USERNAME=abc
SSHHOST=abc
SSHPORT=22
-----------------end of file------------------
首先准备一个远程服务器,获得域名端口,用户名密码。而后将上述脚本放置于指定位置,修改/etc/default/sshtunnel的值,即完成配置。但是上述脚本并没有解决自动登录问题,因此,请生成一个没有密码的密钥,将公钥导入远程服务器。
在完成配置后,可用update-rc.d sshtunnel start 90 2 .进行自动启动服务的安装,其中的2请替换成服务器的默认启动级别。如果不知道可以用以下方法查询。
# cat inittab | grep ^id
id:2:initdefault:
没有评论:
发表评论