windows で ssh2 を使用する ---------------------------------------------------------------------- ●cygwin のインストール。  タスクバーにウィルスバスターがある場合はこれを終了。  http://www.alles.or.jp/~torutk/oojava/meadow/cygwin1_1.html  ここらへんを参考に cygwin をインストールする。 ---------------------------------------------------------------------- ●環境設定  [マイコンピューター]を右クリックして[プロパティ]を選択。  [システムのプロパティ]で[詳細]タブを選択。  [環境変数]ボタンをクリック  [システム環境変数]の変数[Path]に cygwin をインストールしたディレクトリ\bin を追加する。  (cygwin を c:\cygwin に入れた場合は c:\cygwin\bin を追加)  ssh-1.2.14-win32bin.zip や商用版 ssh の ssh.exe や ssh-keygen.exe 等のある  ディレクトリが環境変数 PATH に含まれている場合は、これらのディレクトリをはずしておく。 ---------------------------------------------------------------------- ●DSA 鍵の作成。  語句補足:以下全て  c:\cygwin は各自 cygwin をインストールしたディレクトリ  kenta は各自の windows でのユーザー名  に置き換えて読んで下さい。  コマンドプロンプトで下記コマンドを実行  C:\>ssh-keygen -d -C kenta@alice01.win2k  (-d は DSA 鍵を指定 -C は publickey に入るコメント)  Enter file in which to save the key (/home/kenta/.ssh/id_dsa):  ではそのままリターン。  ※この直後に Could not create directory '/home/kenta/.ssh'. という   というメッセージが出た場合は c:\cygwin\home\kenta を   エクスプローラー等で作成してやる。  Enter passphrase (empty for no passphrase):  Enter same passphrase again:  では適当なパスフレーズを入力。  以下の様に表示されていれば OK C:\>ssh-keygen -d -C kenta@alice01.win2k Generating public/private dsa key pair. Enter file in which to save the key (/home/kenta/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/kenta/.ssh/id_dsa. Your public key has been saved in /home/kenta/.ssh/id_dsa.pub. The key fingerprint is: 81:74:97:2b:27:d4:33:11:df:d2:2a:67:15:4f:8a:2e kenta@alice01.win2k ---------------------------------------------------------------------- ●DSA 鍵の登録  c:\cygwin\home\kenta\.ssh\id_dsa.pub  を接続先のサーバー(pickles.alma.org 等)に転送。  接続先のサーバー上で  kenta[pickles]%more id_dsa.pub >> ~/.ssh/authorized_keys2  として DSA 鍵を登録する。 ---------------------------------------------------------------------- ●TTSSH で ssh2 を使用する。(任意)  まずは cygwin の sshd を windows のサービスに登録する。  [Cygwin] のコンソールを起動して $ ssh-host-config Generating /etc/ssh_host_key Generating /etc/ssh_host_rsa_key Generating /etc/ssh_host_dsa_key Generating /etc/ssh_config file Generating /etc/sshd_config file Added ssh to /cygdrive/c/WINNT/system32/drivers/etc/services Do you want to install sshd as service? (Say "no" if it's already installed as service) (yes/no) yes ※ Which value should the environment variable CYGWIN have when sshd starts? It's recommended to set at least "ntsec" to be able to change user context without password. Default is "binmode ntsec tty". CYGWIN=ntsec tty ※ The service has been installed under LocalSystem account. Host configuration finished. Have fun! ※のある所で入力を求められるの上記の通り入力する。  ▼passwd の編集   c:\cygwin\etc\passwd を編集して余計なユーザーの登録を削除しておく。   ※自分が普段使用しているユーザーは消しちゃだめ。  ▼sshd_config の編集   c:\cygwin\etc\sshd_config を下記のように編集。   Protocol 2,1   ListenAddress 127.0.0.1   PermitRootLogin no   X11Forwarding no   RSAAuthentication yes   PasswordAuthentication no  ▼RSA 鍵の作成   コマンドラインで下記のように実行    C:\>ssh-keygen -C kenta@alice00.win2k Generating public/private rsa1 key pair. Enter file in which to save the key (/home/kenta/.ssh/identity): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/kenta/.ssh/identity. Your public key has been saved in /home/kenta/.ssh/identity.pub. The key fingerprint is: f1:32:6e:c9:ac:48:9c:7e:00:9c:97:4c:e1:4e:ff:e4 kenta@alice00.win2k   ※コマンドライン版等で昔作った RSA 鍵がある場合は、    それらを c:\cygwin\home\kenta\.ssh\ にコピーするだけでよし。  ▼RSA 鍵の登録   c:\cygwin\home\kenta\.ssh\identity.pub をコピー   コピーしたものを authorized_keys とリネームする。  ▼sshd を起動する。  [マイコンピューター]を右クリックして[管理]を選択。  [サービスとアプリケーション]>[サービス]  [CYGWIN sshd]を右クリックして[開始]を選択。  ※再起動後は自動的に起動している。  ▼TTSSH からログインする   あらかじめ TTSSH をインストールしたディレクトリ\TERATERM.INI を下記のように編集   DefaultRSAPrivateKeyFile=c:\cygwin\home\kenta\.ssh\identity   TTSSH を起動   [Host:] に localhost と入力   [Service] の [SSH] にチェックを入れてログイン   後はそこから好きなとこに繋ぎに行けばよし。  ▼補足:sshd のアンインストール。   あらかじめ sshd のサービスを停止しておく。   [Cygwin] のコンソールを起動して   $ cygrunsrv -R sshd   特に何も表示されないが再起動するとサービスから消えている。 ---------------------------------------------------------------------- ●一般的な使用法(例)。  語句補足:以下全て  pickles.alma.org は接続先サーバー  kenta は各ユーザー名  に置き換えて読んで下さい。    ▼コンソールエミュレータ(TTSSH の代わり)   コマンドプロンプトで下記コマンドを実行。   C:\>ssh -2 pickles.alma.jp   (-2 は ssh2 を使用する。-1 なら ssh1。)   ※TTSSH と違ってログが取れないのは不便。   ※setenv TERM vt100 をしておかないで、    vi とかを実行すると    vi: No terminal database found    と怒られます。  ▼ファイル転送   ・windows から接続先サーバーにファイル(test.txt)を送る。   コマンドプロンプトで下記コマンドを実行。   scp test.txt kenta@pickles.alma.jp:/home/kenta   ・接続先サーバーにあるファイル(test.txt)を windows に持ってくる。   コマンドプロンプトで下記コマンドを実行。   scp kenta@pickles.alma.jp:/home/kenta/test.txt .  ▼wincvs  [管理]>[設定] で [認証の方法(A)] で SSH server を設定。  [RSA鍵の指定] にチェックをつけて DSA private key を指定。  (D:\cygwin\home\kenta\.ssh\id_dsa 等)  (実はこの秘密鍵ファイルの指定はあまり意味がない。   wincvs が呼ぶ ssh.exe は勝手にホームディレクトリの下の   秘密鍵を探しにいくので、hoge とか設定してもうまくいく。)  (設定には RSA 鍵とあるが DSA 鍵で通信しても何ら問題無し。)    cvs co や cvs up 等を実行すると別 window でコマンドプロンプトが開き  Enter passphrase for key '/home/kenta/.ssh/id_dsa':  と表示されているのでパスフレーズを入力する。  ※注意事項   windows には 接続先サーバーのユーザー名と同じ名前のユーザーで   ログインしている事が望ましい。   administrator 等で生活している場合にはうまくいかない可能性あり。   ssh-1.2.14-win32bin.zip にはこの制約はなかった。 ---------------------------------------------------------------------- Cygwin が嫌いって人には http://www.networksimplicity.com/openssh/ という Cygwin の ssh 関連のみ抽出したようなものもあるが、 これは sshd がイマイチ目的の動作をしないので×。