FTPに続いて、自宅サーバにログインできる環境も必要です。FTPの場合は、自宅サーバ以外のところからファイルをダウンロードしたりアップロードしたりする事はできますが、サーバそのものにログインしていろいろ設定を直接変更する事はできません。そこで必要となるのが、リモートからサーバにログインするための仕掛けです。
その一つにtelnet があります。telnet の場合だと、確かにサーバーにログインすることは可能です。しかし、プロトコルそのものにセキュリティ対策が無いため、パケットキャプチャなどを行えば簡単にシステムにログインするためのパスワードを知ることができます。これを守るために、通信を暗号化する技術があります。
■SSHの仕組み
SSHの仕組みというほどではありませんが、SSHをもう少し理解するために少し説明を加えます。SSHには必ず「鍵」の話が付いて回ります。これは文字通りの鍵であり、公開鍵と秘密鍵があります。
秘密鍵と公開鍵を利用する事によって、
・お互いが確かな通信相手である事を保障する
・データの暗号化を行う
が可能になります。
SSHの通信路の確立は、ホスト認証とユーザー認証の2つの認証を必要とします。
ホスト認証では、もしホスト間の通信が初めてであれば公開鍵の交換を行います。その上で、データのやり取りをし、相手が確かな通信相手である事を確認します。公開鍵は主に暗号化、秘密鍵は複号化を行います。これにより、データのやり取りをすれば、送ったデータが正しく戻ってくれば、双方のホストは正しく認証される事になります。
ユーザー認証では、実際にリモート接続しようとしているユーザーの認証を行います。単純にtelnetと同じ形でのログイン、つまりUNIXログインを使っても良いし、あらかじめユーザー鍵をログインするホストにおいておく事も可能です。鍵をリモートホストにおいておくと、パスワードがネットワークを流れないのでより安全です。つまり、リモートホストから送られてくる暗号化されたデータが、正しく復号化できれば、ユーザー認証しているのと同じであり、ネットワークにパスワードが流れないためより安全なわけです。
■SSHdのインストール
Fedora Core 4/5 の場合、サーバ側のSSHデーモンがversion2.0 の動作のみ許可する設定がデフォルトでされています。
ここでは編集項目は1点だけ。SSHデーモンがSSHのバージョンの1と2の両方に対応できるようにします。TeratermなどのソフトでSSHのVer.1しか対応してないものでもアクセスできるようにするためです。
/etc/ssh/sshd_config を編集します。
ここ(↓)を変更
Protocol 2,1
編集前は、Protocol 2 となっているのをカンマと1を追加します。これは数字の左から順にSSHのバージョンでネゴシエーションして接続しようと試みます。編集が終わったら、設定を反映させます。
これで終了です。端末からアクセスしてみます。
トップ >> リモートアクセス環境
