Skip to content

Instantly share code, notes, and snippets.

@miminashi
Created March 25, 2012 20:46
Show Gist options
  • Save miminashi/2199632 to your computer and use it in GitHub Desktop.
Save miminashi/2199632 to your computer and use it in GitHub Desktop.
ssh port fowardingを管理してくれるスクリプト
#!/bin/sh
#
# グローバル側から直接見れないようにしているブロードバンドルータのメンテナンスなどに便利です
# 以下の値を適切に設定してから使うんだお
#
# ローカルでブラウザから見えるポート番号
LOCAL_PORT=3180
# 踏み台にするサーバのユーザ名
USER='miminashi'
# 踏み台にするサーバのホスト名
FORWARDING_HOST='example.jp'
# 踏み台にするサーバのsshポート番号
FORWARDING_HOST_PORT=22
# 接続先ホスト名
REMOTE_HOST='192.168.0.1'
# 接続先ポート番号
REMOTE_HOST_PORT=80
SSH_COMMAND="ssh -N -f -L $LOCAL_PORT:$REMOTE_HOST:$REMOTE_HOST_PORT $USER@$FORWARDING_HOST -p $FORWARDING_HOST_PORT"
pid=`ps aux |grep -F "$SSH_COMMAND" |grep -v -F 'grep' | awk '{ print $2 }'`
case $1 in
stop)
if [ $pid ]
then
kill $pid
echo 'disconnected'
else
echo 'not connected'
fi
;;
*)
if [ $pid ]
then
echo 'already started'
else
$SSH_COMMAND
open http://localhost:$LOCAL_PORT/
fi
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment