SSHの設定

 SSHとは、telnet と同じく離れた場所にあるホストをリモート(遠隔操作)を行うができるプログラムです。 telnet の場合は、クライアントとサーバーの間で流れるデータ(ユーザーとパスワード、実行したコマンドなど)が全て平文で送信されるますが、SSH はデータを暗号化して送信します。 つまり、telnet の場合はユーザーとパスワードを容易に見られてしまいます。 同じネットワーク内であれば、telnet でも大丈夫かもしれませんが、全く違う場所からリモートする場合(自宅から会社のサーバーをリモートするなど)は、SSH を使用する事をお勧めします。

≪ 項目 ≫
1.SSHのインストール
2.SSHの設定
3.クライアントの設定
4.接続の仕方


 1.SSHのインストール

 今回、SSH をインストールにはRPMを使用します。WindowsマシンからLinuxサーバーをリモートすると想定で説明します。 Linuxサーバー側に必要なRPMは以下の通りです。

  openssl-0.9.6m-1.i586.rpm
  openssh-3.7.1p2-1.i586.rpm
  openssh-server-3.7.1p2-1.i586.rpm
    2004/12/14 時点での最新のVersionです。

 ”opnessh”が”openssl”を必要とするので、まずは”openssl”からインストールして”opnessh”と”opnessh-sever”をインストールします。

  rpm -Uhv openssl-0.9.6m-1.i586.rpm
  rpm -ihv openssh-3.7.1p2-1.i586.rpm
  rpm -ihv openssh-server-3.7.1p2-1.i586.rpm

 注意点として”openssl”はアップデートのオプションでインストールしてください。”opnessh”をインストールする際、何故かVresion情報を間違える為、インストールできませんでした。


 2.SSHの設定

 ◆ SSHの設定ファイル

 SSH の設定ファイルは”/etc/ssh/sshd _config”というファイルにあります。 このファイルの内容を参照すると、全てコメント化されていますが、全てデフォルトの値で設定されています。 設定を変えたい箇所のみコメント化を外し、そこの値を書き換えてください。(デフォルトの状態でも、そのまま使用できます。)
 以下が主な設定の項目内容です。

設定項目書式説明
Port Port [ ポート番号 ] SSH で使用するポート番号を指定します。デフォルトの22で良いと思います。
Protocol Protocol [ Version ] 使用するプロトコルのVersionを指定します。
ListenAddress ListenAddress [ IPアドレス ] 接続を許可するポートのIPアドレスを指定します。
HostKey HostKey [ ファイル ] 使用するホスト秘密鍵ファイル、DSA秘密鍵ファイル、RSA秘密鍵ファイルを指定します。
KeyRegenerationInterval KeyRegenerationInterval
 [ 時間 ]
サーバー鍵を再生成する時間を指定をします。(鍵の盗難を防ぐため)
ServerKeyBits ServerKeyBits [ ビット数 ] サーバー鍵のビット数を指定します。
LoginGraceTime LoginGraceTime [ 時間 ] ログインの猶予時間を指定します。この時間内にログインしないといけません。
PermitRootLogin PermitRootLogin
 [ yes Or no ]
rootでのログインを許可するか指定します。
StricMode IgnoreRhosts [ yes Or no ] ログイン時に、そのユーザーの権限を厳密にチェックします。通常は yes にします。
KeepAlive KeepAlive [ yes Or no ] ネットワークのダウンやクライアントの終了によって、サーバー側のセッションが残らないようにします。通常は yes にしておいてください。
RSAAuthentication RSAAuthentication
 [ yes Or no ]
RSA認証を許可するか指定します。
PasswordAuthentication PasswordAuthentication
 [ yes Or no ]
パスワード認証を行うか指定します。RSA認証を使用する場合は no を指定します。
PermitEmptyPasswords PermitEmptyPasswords
 [ yes Or no ]
空のパスワードを許可するか指定します。通常は no を指定します。

 ◆ TCP Wrapperの設定

 RPM版の SSH は、たいてい、--with-tcp-wrapper が有効になっていますので、”/etc/hosts.allow”と”/etc/hosts.deny”のファイルを参照しにいきます。 よって”/etc/hosts.allow”の sshd の行を修正します。

 どのホストからでもリモートできる様にする場合の例)
  sshd : ALL


 3.クライアントの設定

 今度はクライアントのマシンに、SSH で接続できるようにします。 今回、クライアントマシンの OS は Windows として、Linuxサーバーへリモートすると想定して説明します。
 Windows で有名なSSHクライアントソフトと言えば”Tera Term Pro”(フリーソフト)があります。 ”Tera Term Pro”だけでは telnet の機能しか持たないので、”TTSSH”(フリーソフト)も必要です。 今回はそれを使用してクライアントの設定をします。 2つとも”窓の杜”からダウンロードできます。

 ◆ インストール

 ● まずは、ダウンロードしてきた”Tera Term Pro”と”TTSSH”の2つを適当な場所に解凍します。

 ● 解凍した”Tera Term Pro”の中には、SETUPコマンドがあるので、それを実行して適当な場所にインストールをします。

 ● インストールした”Tera Term Pro”のフォルダの中に、解凍した”TTSSH”のファイルを全てコピーします。

 以上でクライアント側の設定は終了です。”ttssh.exe”を実行すれば、SSHクライアントが起動されます。


 4.接続の仕方

 ◆ SSHでの接続

 まずはサーバー側(リモートされる側)のSSHを起動しておきます。以下のコマンドでSSHのサービスを開始します。

  /etc/rc.d/init.d/sshd start

 この時、DSAとRSAの秘密鍵と公開鍵が無い場合は自動で作成されます。

 次に、クライアントの方の”ttssh.exe”をクリックして、下のような画面を起動させます。



 まず、Host: の箇所に、SSHサーバーのIPアドレスまたはホスト名を入力して、Service の箇所で、SSH を選択します。 初めて SSHサーバーに接続しようとすると以下の様なメッセージが出力されます。



 これは、SSHサーバーから公開鍵を受け取り、”known_hosts”ファイルにある鍵と比較しようとしているのですが、
”known_hosts”ファイルが無いので新規に登録するか聞いているのです。チェックボックスにチェックを入れて登録します。
 ”known_hosts”ファイルの登録が終われば以下の様な画面が出力されます。



 User name: に、SSHサーバーで作成してあるユーザーと、そのパスワードをPassphrase: へ入力します。

 注意点として、SSH は標準設定の状態で root権限でログインする事はできません。設定を変更するか、一般ユーザーを作成しておいてください。 ( suコマンドで root に変更する事は可能です。)
 また標準設定の状態では、2分以内にログインしないとコネクトが切れます。




先頭に戻る  TOPページに戻る