[an error occurred while processing this directive]

sshで安全なリモート管理

作業の概要

リモート管理

Linuxなどでサーバーを立てようという場合、普段は電源を入れて置いておくだけ、という使用が想定されるが、新しいサービスを開始したくなったり、ネットワーク構成に変化があったり、セキュリティホールが見つかって修正パッチが必要になったりと、設定作業やメンテナンス作業が多かれ少なかれ発生する。

そんなときにわざわざディスプレイをつなぎ替えたり、キーボードを引っ張り出したりしなくてもいいように、リモートで(他の端末から)コンピュータを管理できる仕組みがある。ところが、伝統あるリモート管理の仕組みのtelnetは、パスワードや通信内容を暗号化せずにネットワークに流してしまうので、インターネット上で使用するのには適さない。

そこでtelnetに代わってリモート管理の主流になっているのがsshである。sshを使うと、その間の通信内容を暗号化し、比較的安全にリモート管理を行うことが出来るのである。

やりたいことの整理

sshサーバの設定

認証ルールを設定

まず、リモート管理の対象のコンピュータのsshdの設定を行う。もちろん、root権限が必要。sshdの設定の変更は、/etc/ssh/sshd_configを編集することで行う。主な設定変更は以下の項目に対して行った。どれが上記のどの項目に対応するかは見たら分かると思う。

    Protocol 1                                 デフォルトは1,2だった
    PermitRootLogin no                         rootでのログインは禁止

    RSAAuthentication yes                      RSA認証を使用
    PubKeyAuthentication no                    公開鍵認証を禁止
    AuthorizedKeysFile %h/.ssh/authorized_keys 許可されたユーザーの公開鍵リストのパス
    PasswordAuthentication no                  パスワード認証を禁止

設定を保存したらsshdを再起動して、設定を反映させておくこと。

    root@host# /etc/init.d/sshd restart

RSA認証鍵を作成

ここで行うのはログインするユーザーの準備である。このセクションの作業はrootではなくそのユーザーの権限で行う。

    user@host$ ssh-keygen -t rsa1
    Generating public/private rsa1 key pair.
    Enter file in which to save the key (/home/user/.ssh/identity): そのままエンター
    Created directory '/home/user/.ssh'.
    Enter passphrase (empty for no passphrase): パスフレーズ
    Enter same passphrase again: もう一回
    Your identification has been saved in /home/name/.ssh/identity.
    Your public key had been saved in /home/name/.ssh/identity.pub.
    The key fingerprint is:
    (後略)

さらに、公開鍵を認証された鍵として登録する。要は、ファイルをコピーしてアクセス権を限定する(勝手に他人が登録キーを増やしたりできたら困るので)だけ。

    user@host$ cd /home/user/.ssh
    user@host$ cp identity.pub authorized_keys
    user@host$ chmod 600 authorized_keys

TeraTermPro+TTSSHの導入と設定(Windows)

先ほど作成したRSA秘密鍵ファイル(identity)を、Windowsマシンにコピーする。方法はFTPでもSambaでもFD使用でもかまわないが、ファイルを移す過程で第3者に中身が漏洩しないように気をつけること。sshの意味がなくなるので。

TeraTermProとTTSSHを配布ページからダウンロードし、説明に従ってインストールする。

あとはTeraTermを起動し、サービスのところで「SSH」を選択し、ユーザ名とパスフレーズ(ログインパスワードではなく、RSA鍵を作ったときのパスフレーズ)を入力し、認証方法を「RSA鍵を使う」にして、先ほどコピーしたidentityファイルを選択すると、接続完了。あとはコンソールと同様に操作が出来るようになっているはず。

ウインドウサイズや色などを好みの設定にしたらコンソールよりもはるかに快適に管理作業が行える。また、設定を変更したらメニューの「設定」「設定の保存」を忘れずに行っておくこと。そうしないと次回起動時にはまたデフォルト設定に戻ってしまう。


Last Update: Tuesday, 03-May-2005 21:44:19 JST

Copyright© 1999-2003,Gensui