イントラネット内のサーバーを外部からアクセスする 2002/06/26 宗近(munetika@niji-net.com) (注意) この文章は内部でのテストによって確認はしているものの、無保証の文章です。  この文章に書かれていることを実行し、損害を被った場合でも筆者は責任を負 いません。  出張等で自分の所属している会社のサーバーを、社外からアクセスする必要に 迫られましたので資料を作りました。 1.FW(社内サーバーへのゲイトウェー)マシンにログインアカウントを作成する  社内のサーバーへの経由地として、FWマシンにログイン用のアカウントを作成 します。(アカウントの作成については、その組織のルールに従います) 一般的にここで作成するアカウント名は社内で使用しているアカウント名と別 にしておいた方が望ましいです。また、セキュリティ確保の為、sshのバージョン2 プロトコルを使用して公開鍵認証でログインできる設定にしておくことが好ましい と考えられます。  ※公開鍵の作成方法およびFWマシンへの登録  下記のコマンドを実行します。 $ ssh-keygen -t dsa ^^^^^^^^^^^^^^^^^ (この部分を入力) 下記のメッセージが表示されます。 '************'の部分がパスフレーズです。先ほど設定したパスワードと違う もので適当な長さを持ったパスフレーズを2回入力します。 Generating public/private dsa key pair. Enter file in which to save the key (/home/user01/.ssh/id_dsa): Enter passphrase (empty for no passphrase):************ Enter same passphrase again:************ Your identification has been saved in /home/user01/.ssh/id_dsa. Your public key has been saved in /home/user01/.ssh/id_dsa.pub.  自分のホームディレクトリに.sshディレクトリが作成され、2つの鍵(公開鍵と 秘密鍵)が作成されています。  このうち、公開鍵(id_dsa.pub)のみをFWマシンにに転送します。  公開鍵なので、秘密鍵ほど気を使う必要はないものの社内から登録 するなどできるだけセキュアな方法で転送します。 FWマシン上の自分のホームディレクトリに.sshディレクトリを作成 します。この時パーミッションを700にしておきます。  次に.sshディレクトリにid_dsa.pubを転送します。この時ファイル名 変更します。 (id_dsa.pub -> authorized_keys2)  あわせてパーミッションを600に変更しておきます。  これでFWマシン側の設定が完了しましたので、テストでログインします。 下記の例ではユーザーアカウントを'testacc'としてホスト名をhoge.niji-net.com' としていますがご自分のアカウントに読み替えてください。'******'は公開鍵の登録 で設定したパスフレーズです。 $ ssh -l testacc hoge.niji-net.com Enter passphrase for key '/home/user01/.ssh/id_dsa':****** Last login: Tue Jun 25 22:17:49 2002 from 211.xx.yyy.zzz ###### 1.5.2 (GENERIC) #3: Sat Aug 18 23:37:05 CEST 2001 Welcome to ######! hoge: {1}  上記のように'hoge'のログインプロンプトが表示されればログインに成功して います。 2.Portフォワーディング 社内のサーバーを利用する例としてCVSサーバー(マシン名:doradora)の 設定例を紹介します。  ローカルPC上にPortフォワーディングのバッチファイルを作成します。 (名称は適当でかまいません) 内容は以下のように、sshに引数を設定します。 c:\cygwin\bin\ssh -2 -L 2401:doradora:2401 testacc@hoge.niji-net.com    A: B: C: D: E: A:はsshのパス名です。  B:はローカルPCで受けるポート番号  C:は接続先のPCのホスト名またはIPアドレス  D:は接続先のPCポート番号  E:はFWマシンに設定したアカウントを@でマシン名と繋ぐ  作成したバッチファイルを実行するとテストログインと同じような画面が開きます。  このコンソール画面は、最小化して残しておいてください。  この画面が残っている間のみ、Portフォワーディングで接続が行えます。  他のマシンやサービスを使う場合は、上記の設定ファイルを読み替えてください。 ※WinCVSの設定  WinCVSの設定は社内で設定している内容を変更する必要があります。  「Admin」 -> 「Preference」(「管理」 -> 「設定」)の個所の「CVSROOTの場所」 を下記のように変更します。 :pserver:testacc@localhost:/home/cvsroot 本来、「localhost」の個所に社内でのホスト名が設定してあると思います。  なお、cvsのアカウントについては社内と社外で同じアカウントが利用できます。 (パスワードも同じ)