トップ(最新)

nDiki : port forwarding

スポンサード リンク

Related term

2002年4月16日 (火)

ホームページ・ビルダーのサイト転送を secure に このエントリーを含むはてなブックマーク

スポンサード リンク

ホームページ・ビルダーでコンテンツを書いている。 サイトへのアップロードは、SSH でしたいので私がコピーを受けとって代理アップロードしていた。 常時接続を機に、直接アップロードできるようにしてあげなければ。

ということで PortForwarder という秀逸なソフトを使用する事に。 SSH ポートフォワーディングに特化したソフトで、扱いやすい。

ぱぱっと設定。ローカルの 21番ポートを Web サーバの21番ポートに SSH ポートフォワーディングできるようにしておく。 ホームページ・ビルダーからはローカルホストにパッシブモードで FTP するように設定。

◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。


[ 4月16日全て ]

2004年3月31日 (水)

SSHport forwarding が通らなくなった このエントリーを含むはてなブックマーク

会社のルータの設定が変更された影響で POP over SSH ができなくなった。

 ssh -L 12345:mailserver.example:110 mailserver.example

していたのを

 ssh -L 12345:localhost:110 mailserver.example

に修正して復活。


[ 3月31日全て ]

2004年4月19日 (月)

Mew - mew-ssh-keep-connection このエントリーを含むはてなブックマーク

いつの間にか Mew から SSH port forwarding で会社の SMTP サーバに接続すると1通目しか送信できなくなってしまっている。

1回目に開いたSSH接続がうまく使いまわせていないのか? mew-ssh-keep-connection (や mew-config-alist での ssh-keep-connection) を nil にしてみたけど、SSHのプロセスが残ったままになっている。 いまのところ解決できず。


[ 4月19日全て ]

2005年8月9日 (火)

帰省後のメール取得トラブルは Linux kernel 選択ミスが原因 このエントリーを含むはてなブックマーク

4日ぶりにPC生活に復帰。 メールは naney.org の方に800通ちょっと、会社の方に100通弱。 fetchmail

取れぬ。例によって溜めすぎかなぁ。

naney.org の方は一時的に、SSH port forwarding 経由にするのをやめたら取得できた。

会社の方は駄目。サーバ側の問題か? (1通ずつとか)きざんで fetch すると、取れるようだ。 fetchmail の -B オプションを指定してチマチマとる。 これである程度取得できたが、サイズの大きいメールは1通単位でも取れない。

しょうがない。サーバの Maildir を tarball にまとめてとってくるか。

……あれ。 サーバでまとめた tarball を scp で持ってこれない。転送途中で止まってしまう。 うーん。困った。

試してみたところどうやら大きなファイル転送はメールに限らず駄目なようだ。 あれ? 前にもこんな症状あったような。 nDiki を見直したら MADWIFI 試行錯誤していたときにあったな。

とりあえずリブートしてみるか。

再起動してGRUBのメニューをみて気がついた。 うまく動くように設定していないままの kernel 2.6 でブートしていたようだ。 帰省前にかなり久しぶりにシャットダウンしたので、帰ってきて起動した時に 2.4 系を選んでブートしなければならなかったことを忘れていたよ。

これに気がつくまで、結局3時間ぐらい苦戦してしまった。とほほ。


[ 8月9日全て ]

2006年5月23日 (火)

ISP から Outbound Port25 Blocking を行うとのお知らせ このエントリーを含むはてなブックマーク

ISP から OP25B を行うとのメールがきた。

@ Mew の設定

ノート PC の設定変更が面倒だな……と思ったが、考えてみたら普段手で書いて送っているメールMew から「直接 www.naney.org か会社の SMTP サーバへ SSH port forwarding 経由で送っている」から、こちらは別に関係ないのか。

@ qmail の設定

とはいえローカルの qmail から送っているメールもあるから、これの設定をする必要あり。 こいつはどうやって設定しようか。

  1. 自宅にいる時は「プロバイダSMTP サーバ (25番ポート)経由」、外(別の接続からの時)では「ローカルの qmail から直接」
    • 切り替えが必要
  2. プロバイダのサブミッションポート 587番 + POP before SMTP 経由」
  3. 「他のサブミッションポート 587番 で提供されている SMTP サーバ経由」
    • SMTP サーバのあてがない

さて、どうしたものか。 皆はそうしているのか、要調査。


[ 5月23日全て ]

2006年6月3日 (土)

FoxyProxyautossh で社内 Web ページを閲覧 このエントリーを含むはてなブックマーク

メンテナンス等のため社内 Web サイトを社外から閲覧する必要がある場合 SSSH の port forwarding を使ってアクセスしていたのだが、その都度 Firefoxproxy を変更したりするのが面倒だった。

そんな折 FoxyProxy という Firefox 拡張機能があることを知った。 これは登録された URL パターン毎に、自動的に proxy を切り替えてくれるという優れもの。 これは便利。

autosshport forwarding (SOCKS サーバ)を開いておくようにして、社内のホスト名/IP アドレスURLの時はそこを経由するようにしておくと、いつでも Firefox から閲覧できるようになる。

 autossh -N -f -D8090 <中継するホスト名>

[ 6月3日全て ]

2006年6月15日 (木)

SSH port forwarding 経由での Unison を用いたファイル同期 このエントリーを含むはてなブックマーク

ノート PC ととあるプライベートネットワーク上のサーバとで Unison を使って同期しているディレクトリを、プライベートネットーワークの外から SSH 経由で port forwarding して同期できるようにしたくなった。

 今
 [ノート PC] -------------------- [サーバ]
               Unison with SSH   192.168.0.x

 これから
 [ノート PC] -------------------- [サーバ]
               Unison with SSH   192.168.0.x

 [ノート PC] -- [ゲートウェイ] -- [サーバ]
               gw.example.com    192.168.0.x
               Unison with SSH

@ 現在のノート PC 上での設定

 times = true
 root = /home/naney/somedir
 root = ssh://192.168.0.x//home/naney/somedir

 ignore = Name *~
 ignore = Name .*~
 ...

が 設定ファイル ~/.unison/server.prf の内容。

 unison server [options]

で同期している。

@ SSH port forwarding 経由で同期

新しくノート PC 上に設定ファイル ~/.unison/serverremote.prf を作成する

 times = true
 root = /home/naney/somedir
 root = ssh://localhost//home/naney/somedir
 rootalias = ssh://localhost//home/naney/somedir -> ssh://192.168.0.x//home/naney/somedir
 sshargs = -p 8022 -o HostKeyAlias=192.168.0.x

 ignore = Name *~
 ignore = Name .*~
 ...

SSH port forwarding を開いてから、上の設定ファイルを使って同期するシェルスクリプト unison-serverremote を書く

 #!/bin/sh
 ssh -f -L 8022:192.168.0.x:22 gw.example.com sleep 10
 unison serverremote $@

これで

 unison-serverremote

で、SSH port forwarding 経由で同期できるようになった。


[ 6月15日全て ]

2006年6月29日 (木)

SubversionSSH port forwarding 経由での svn+ssh このエントリーを含むはてなブックマーク

普段プライベートネットワーク内で、svn+ssh で接続している Subversion リポジトリSSH 経由で port fowarding して接続するようにする。

 [ノート PC] -- [ゲートウェイ] -- [リポジトリのあるサーバ]
                gw.example.com    192.168.0.x

@ ポートフォワーディング用 SSH ラッパー

例えば svn-gw-ssh という名前で以下のファイルを作成:

 #!/bin/sh
 HOST_NAME=$1
 shift 1
 ssh -f -L 8023:$HOST_NAME:22 gw.example.com sleep 10
 ssh -p 8023 -o HostKeyAlias=$HOST_NAME localhost $@

@ svn 用ラッパーも書いておく

例えば svn-gw という名前で以下のファイルを作成:

 #!/bin/sh
 SVN_SSH=svn-gw-ssh svn $@

@ 使う

これで例えば svn+ssh://192.168.0.x/var/repos でチェックアウトした作業ディレクトリ上をプライベートネットワーク内外で、更新したりコミットしたりできるようになる。

プライベートネットワーク内からは今まで通り。

 svn update

プライベートネットワーク外からは

 svn-gw update

のようにする。

これで

と合わせて随分外部で作業できるようになった。 それだけ、外部でもやれる仕事が増えたということでもあるが。


[ 6月29日全て ]

2006年10月1日 (日)

OP25B 回避のために PortForwarder で port fowarding このエントリーを含むはてなブックマーク

本日より ISP の OP25B が本格的に開始する。これにより契約しているホスティングサービスの SMTP サーバに自宅から接続できなくなる(このホスティングサービスではサブミッションポート (587 番)の提供は無し)。

自宅の Windows BOX からのメール送信ができなくなると困るので、 PortForwarder を使って SSH port forwarding して対応することにした。

@ 設定

まず PortForwarder 2.7.0 をダウンロードしてきて展開。

次に設定ファイルを作成する。ファイル名 config というテキストファイルを作成し、

 Host mailserver
        User username
        Protocol 1
        HostName ホスティングサーバ名
        LocalForward 8025 メールサーバ名:25
        LocalForward 8110 メールサーバ名:110

と書いて保存。

ホスティングサーバのメールサービスは POP before SMTP なので、25 番ポートと 110 番ポートを両方とも転送して、同じホストから接続しているように見せる必要がある。

次にこのファイルと同じディレクトリに SSH の鍵を置く (PortForwarder 1 時代に作った鍵があるので、今回は Protocol 1 を指定してこれを使うようにした)。

あとは PortForwarder を起動し、この config ファイルを指定して接続。

接続ができたら MUA を起動して POP、SMTP をそれぞれ localhost:8110、localhost:8025 を使うように設定を変更。

これでまずは OP25B を回避。 ちょっと手間が増えたがいたしかないところ。


[ 10月1日全て ]

2007年1月6日 (土)

connect.c を使って SOCKS サーバ経由で社内サーバへ SSH 接続 このエントリーを含むはてなブックマーク

以前社外から社内 Web サイトへのアクセスは autossh + FoxyProxy を使って SOCKS 経由で直接できるように設定した (記事)。 また UnisonSubversion もそれぞれ SSH port forwarding 経由で直接アクセスできるようにしてある (Unison の記事Subversion の記事)。

しかし社外から社内サーバへの SSH 接続(やファイル転送)は、以前として一旦中継ホストに接続(転送)してから再度接続(転送)していて面倒であった。

調べたところ Shun-ichi GOTO氏の SSH プロキシコマンド connect.c を使うと SOCKS サーバ経由で直接接続できるようなので設定してみた。

 [クライアント:8090] -- SOCKS -- [ゲートウェイ] -- [社内サーバ]
                                 gw.example.com    192.168.1.x

@ インストール

Debian なので apt-get で。

 apt-get install connect-proxy

@ SSH の設定

~/.ssh/config に以下の行を追加。

 Host 192.168.1.*
   ProxyCommand /usr/bin/connect-proxy -S localhost:8090 %h %p

192.168.1.* に接続する際は、connect-proxy を使ってローカルホストの 8090 ポートの SOCKS を通るようにする設定。

@ SSHSOCKS サーバにする

autossh を使って SSHSOCKS サーバを立てる

 autossh -N -f -D8090 gw.example.com

これで準備 OK。

@ 使ってみる

@ SSH 接続
 ssh 192.168.1.x

で接続を確認。

@ Konqueror (KDE)
 fish://192.168.1.x/

で直接ブラウズ、読み書き可能なことを確認。

@ Unison

普通に 192.168.1.x と同期できることを確認。

@ CVS

普通に 192.168.1.x 上のリポジトリに対して cvs update できることを確認

@ Subversion

普通に 192.168.1.x 上のリポジトリに対して svn update をかけるとアップデートし終わって最後に

 FATAL: output (local) failed, errno=32

というエラーがでる。

@ 便利

Subversion だけちょっと気がかりだれど、その他はうまく行っている感じ。

これでかなり手軽に接続、転送できるようになった。 便利、便利。

@ 追記 (2009年2月23日)

一時的に connect.c を通らないで直接接続する際には 'ssh -o ProxyCommand=none' とする。

 例:
 SVN_SSH='ssh -o ProxyCommand=none' svn update

[ 1月6日全て ]

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.02671s / load averages: 0.26, 0.26, 0.21
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)