OpenSSHを使う

 サーバーを管理していると、外部からサーバーを操作したいときがあります。しかし、telnetをそのまま使うとユーザー/パスワードが漏れてしまいます。そんなときに、ssh通信を行う事で安全ににアクセス出来ます。
今回は、OpenSSHをインストールし、外部からアクセス出来る環境を整えます。

OpenSSHはTurboLinuxのインストール時に合わせてインストールしていたので、今回は設定のみ紹介です。

作業の流れは次のようになります。
  1. sshd_configの設定
  2. 鍵の作成
  3. クライアントからのログイン
  4. ADSLルータの設定
  1. sshd_configの設定
    sshdの設定を行います。
    ポリシーとしてはRSA認証のみを許可します。
    この場合公開鍵、秘密鍵を利用して認証を行う事になります。

    /etc/ssh/sshd_configファイルを修正します。
    RSAAuthentication yes      <-これをyesに変更
    PasswordAuthentication no <-Systemで使用するパスワードを使うか否か。noにします

  2. 鍵の作成
    鍵の作成は、ログインするユーザー毎に行います。
    作成した公開鍵をユーザーホームディレクトリ/.ssh/に配置し、秘密鍵はユーザーが持ち歩く事になります。
    以下に鍵の作成手順を示しますが、この操作はログインするユーザー毎に行ってください。
    以下の例では、ユーザーhogeの鍵を作成しています。
    [hoge hoge]$ ssh-keygen -t rsa1  <--rsa1の鍵を作成します。
    Generating public/private rsa1 key pair.
    Enter file in which to save the key (/home/hoge/.ssh/identity):
    このままでよいので未入力でEnter
    Created directory '/home/hoge/.ssh'.
    Enter passphrase (empty for no passphrase):
    適当なパスフレーズを入力します。ログインで使用します。
    Enter same passphrase again:
    Your identification has been saved in /home/hoge/.ssh/identity.  
    <-- 秘密鍵です。
    Your public key has been saved in /home/hoge/.ssh/identity.pub.
    The key fingerprint is:
    ae:b3:87:ef:e3:38:86:83:9c:38:c5:bc:14:0d:08:14 hoge@ryouto.jp

    [hoge hoge]$ cd .ssh
    [hoge .ssh]$ cp -p identity.pub authorized_keys

  3. クライアントからのログイン
    Windowsからの接続方法を説明します。
    使用するクライアントソフトはTera Term ProとTTSSHです。telnet接続の際にいつもTera Term Proを使用していた為、今回もこのクライアントを選択しました。
    TeraTermProをインストール後、TTSSHをTeraTermProのインストールディレクトリに展開して下さい。

    また、先に作成したidentityファイルをクライアントマシンへ持ってきておきます。
    @ttssh.exe実行後、Tera Term:New connectionのダイアログが表示されますが、キャンセルします。
    Aメニュー[Setup]-[SSH...]を選択。
      Read/write fileボタンを押下し、saveするファイル名を入力します。(defaultのssh_known_hostsでいいと思います。)終了したらOKボタンを押下します。
    Bメニュー[Setup]-[Authentication...]を選択。
     Use RSA key to loginを選択し、Private key fileボタンを押下し、「2.鍵の作成」で作成したidentityファイルを選択します。
    Cメニュー[Setup]-[Save Setup...]を選択し、現在の設定を保存します。
    Dメニュー[File]-[New Connection]を選択します。
      TCP/IPをクリック、Host:は接続先マシンの名前もしくはIPアドレスを入力。ServiceはSSHをセンタkすし、OKボタンを押下します。
    Eパスフレーズの入力
      SSH Authenticationダイアログが表示されたら、ユーザー/パスフレーズを入力します。
    2回目以降に起動したときは手順Dからです。
  4. ADSLルーターの設定
    ssh通信ではポート番号22番を使います。
    従って、ADSLルータに22番ポートを開けてやる必要があります。
    ADSLルータの設定は使用しているものによって方法が異なると思いますが、たいていの場合、IPフィルタの設定とNATの設定を行います。
    我が家はMegaBit GearというADSLルータです。
    まず、IPフィルタ設定で、22番ポートを開けてやります。
    (外部から22番ポート宛に来たリクエストは通過させる設定です。)
    No 優先度 インターフェース 送信元IPアドレス/マスク長 送信先IPアドレス/マスク長 プロトコル 送信元ポート番号 送信先ポート番号 アクション
    17 31 接続先1から受信 0.0.0.0/0 PPP取得 TCP * 22 通過
    次にNATアドレス変換設定です。
    外部より22番ポートへ宛に届いたリクエストをどこのIPアドレスへ転送するかを決定します。
    飛ばす先は当然サーバー(192.168.0.11がサーバーのIPです。)です。
    No 優先度 接続先の名称 LAN側IPアドレス ADSL側IPアドレス プロトコル ポート番号
    3 3 接続先1 192.168.0.11 自ADSL側アドレス TCP 22
以上でお終いです。

お問い合わせはwebmaster@ryouto.jpまで。
Copyright (C)2003 ryouto.jp. All Rights Reserved.