てんこう の発言 : 客先にサーバー収めるのぢゃが てんこう の発言 : ルーターで 80 番しかあいてないんだわな てんこう の発言 : ssh over HTTP なんていう てんこう の発言 : ソリューションは てんこう の発言 : ないもんかのぉ?w (中略) masy の発言 : たとえば、適当に顧客サーバからてんこうさんの会社にたいして masy の発言 : ssh tunnel はらすような shell 書いといて masy の発言 : cron で切れてたら再接続? てんこう の発言 : それだ! masy の発言 : passphrase なしで login できる鍵をつくって masy の発言 : おいとくっすかね。 (中略) masy の発言 : ssh -R 10022:localhost:22 remotehost masy の発言 : とかで、remotehost の port 10022 に接続すると masy の発言 : localhost の port 22 にいくかな? てんこう の発言 : なるほど masy の発言 : -R でだめだったら -L (わら
* トンネルの貼り方
秘奥義発見!
#! /bin/sh # # sshtunnel: creates ssh tunnel from surf:10123 to local:telnet # # Version: 2002-04-12 by NAKANO Takeo # PATH=/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/bin/ssh NAME=ssh DESC="ssh tunnel to surf" test -x $DAEMON || exit 0 set -e case "$1" in start) echo -n "Starting $DESC: " if (ps uax | egrep -v '(ps|grep)' | grep -q 10123:localhost:23); then echo already running exit 0 fi $DAEMON -f -1 -l apexp -R 10123:localhost:23 surf.ap.seikei.ac.jp \ ping -i 60 localhost >& /dev/null echo "$NAME." ;; stop) echo -n "Stopping $DESC: " killall $NAME echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " killall $NAME sleep 1 $DAEMON -f -1 -l apexp -R 10123:localhost:23 surf.ap.seikei.ac.jp \ ping -i 60 localhost >& /dev/null echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
これを /etc/init.d にいれて、hourly で sshtunnel start するとおけらしい。すばらしい。
* remotehost 以外の host から remotehost の port 10022 に接続
ssh -oGatewayPorts=yes -R 10022:localhost:22 remotehost
らしい。なるほど。