How to setting SSH for Windows


木谷 公哉(kitani@cseas.kyoto-u.ac.jp)
作成日: 2000/06/14
最終更新日: 2000/07/30

TeratermPro for Winからsshをするには、

  1. 下準備
    1. SSHの構造を読まれた方には分かると思いますが、SSHを安全に使用するにはRSA認証方式を使うことです。これは、PGPで採用されている、「公開鍵」「秘密鍵」「パスフレーズ」を使用します。Windowsでこれらの鍵を作ることは作れますが、ソフトをダウンロードしなければいけません。

  2. 必要なソフトウェアのダウンロード
    1. TeratermPro2.3
    2. TTSSH1.51
    3. cygnus 20b(DLL)
      • ssh-1.2.22-Win32-Beta1.zipを使用するために必要なライブラリ。ssh-1.2.22-Win32-Beta1.zipをインストールしたフォルダと同じところに入れておけばOK。
    4. ssh-1.2.22-Win32-Beta1.zip
      • これはcygnusというWindowsでbashやtcshを使用するためのソフト上で動きます。cygnus b19というバージョンのソフトで作成されたものであり、このライブラリDLLがあればうごきます。ライブラリはb18がcygwin.dll、b19がcygwinb19.dll、b20がcygwin1.dllとなっています。b20用のDLLをcygwinb19.dllとリネームしても使用可能です。なぜDLLが別々かというと、使用している関数がかなり異なっているからだそうです。特にb18からb19にはほとんど変わってしまったため、やむなく名前を変えたそうです。

  3. 秘密鍵、公開鍵の作成方法(UNIXでの作成)
    1. ホームディレクトリにSIDがついていないようにしてください。sshはセキュリティ上SIDがついている場合は機能してくれません。
    2. もしすでにUNIX上で秘密鍵を作成しているのであれば、4へ飛んでください。
    3. ssh1.2.xをインストールしてあれば、ssh-keygen1というコマンドがあります。こいつを起動してください。
    4. 保存場所を聞いてきますので、そのまま(~/.ssh)Enterを押してください。またパスフレーズというパスワードを聞いてきます。これも重要なものなので、簡単なパスフレーズにはしないでください。
    5. ~/.sshに移動して、「cat identity.pub >> authorized_keys」としてください。
    6. さらにFTPソフトで、identityをWindowsへとダウンロードしてください。ダウンロード先は、Teratermをインストールしてあるフォルダがいいでしょう。Windows NTやWindows2000を使用している場合は、identityにロックをかけて他人に読まれないようにしましょう。どうしてもいやだという人は、フロッピーに保存すればよいです。
    7. ここで秘密鍵とは「identity」、公開鍵とは「identity.pub」になります。秘密鍵は死守してください。もちろんパスフレーズが分からなければ侵入されませんが、それならRSAの意味がなくなりますので。

  4. ソフトウェアのインストール方法
    1. TeratermProをインストールします。
    2. TeratermProをインストールしたフォルダにTTSSH1.4の中身を入れます。
    3. TeratermProをインストールしたフォルダに「ttssh.exe」というファイルができているはずなので、これをTeratermProの代りに以後使用します。デスクトップなどにショートカットを作成しておけば使用するのに楽になるでしょう。

  5. ソフトウェアの設定方法
    1. まずttssh.exeを起動してください。すると下の図のような画面がでてきます。ここで一度Cancelをしてください。
      Image of Teraterm with ssh
    2. Teraterm with SSH(ttssh)のファイルメニューからSetupを選択し、以下の表の用に設定してください。 Setting of Teraterm with ssh
      TerminalKanji項目が二つありますので、これをホストに合わせた漢字コードへ変更してください。CobaltなどではSJISで、その他の標準的なUNIXではEUCでしょう
      KeyboardTersmit DEL byという項目の二つのチェックボックスをチェックしてください。これはDELやBackscapeを相手側のホストで使用するときに必要なものです。
      TCP/IPあらかじめ接続先のホストを登録しておく場所です。SSHを使用する場合は標準的に22番ポートとなっていますが、サーバー側でポート指定を変えている場合はちがうものにする必要があります。
      SSH AuthenticationSSHでの設定です。Privateキー(秘密鍵)をどこかに保存してそれを指定してください。後はログイン名をあらかじめ入れておけば、入力の手間が省かれます。下の図を参考にしてください。ここでは必ずRSA設定をしてください。そうでないとSSHの意味がなくなります。
      SSH Port Forwarding任意のポートにたいしてSSHの暗号をかけることができます。具体例は後述するFTP項目を参照してください。
      Setting of Teraterm with ssh 2

  6. ソフトウェアの使用方法
    • 再度TTSSHを起動させると下の図がでてきます。ここでのホストは先ほどのTCP/IP項目設定で一番上に設定したものがでてきます。後はOKボタンを押してパスフレーズ(SSHにおけるパスワードのこと)を入力すればログインできるはずです。
      Setting of Teraterm with ssh 3

  7. FTPに対してSSH暗号経路を使用する方法
    1. TTSSH設定の内SSH Port Forwarding設定を開きます。ここからADDボタンを押すと下図がでてきます。 SSH Port Forwarding
    2. Local Portには適当なポートを入れてください。ここでは筆者の趣味的なものから777と入れています。
    3. Remote machineにはFTP先のホスト名いれてください。
    4. portにはftpもしくは21を指定してください。
    5. OKボタンを押して、TTSSH設定からSave Setupをして設定を保存してください。

  8. SSH暗号経路を使用するFTP設定
    1. まずTTSSHのSSHでログインします。これでPort Forwardingは有効になります。
    2. FTPソフトを立ち上げます。
    3. FTPソフトの設定を以下のように変更します。
      接続先ホスト名127.0.0.1
      拡張機能PASVモードを使用にチェック(これをしないとファイルリストが所得できません)
      ファイルリストをLISTに変更(これをしないとファイルリストが所得できません)
      接続先ポート番号777
    4. この設定でFTPするとSSHが使用している22番ポート経由で21番ポートにたいしてアクセスしてくれるので、暗号化がかかるわけです。