|
|
ツールの解説 No. 152 ssh にてパスワードを使用しないでログインする方法ssh(Secure Shell)を導入しているホスト間でパスワードを入力せずにログインすること を可能にする方法を解説します。 【概要】 ssh は、接続先によって使用する protocol version が決定されます。 バージョンにより、設定方法が異なりますので、ご注意ください。 Turbolinux Server 6.5 より、version 2 が優先的に利用されています。 ssh の protocol version 1 は、ログイン時にRSA認証を行います。 そのために、事前に ssh-keygen を実行し、RSA キーの組を作成しておきます。 ssh-keygen を実行すると、プライベートキーは~/.ssh/identity に、 公開キーは ~/.ssh/identity.pub に作成されます。 この identity.pub を、リモートマシンの ~/.ssh/authorized_keys にコピーしておく ことによって、パスワードを毎回入力することなくログインすることができるように なります。RSA 認証は、rhosts 認証に比べて、より安全です。 ssh の protocol version 2 は、ログイン時にDSA認証を行います。 そのために、事前に ssh-keygen を実行し、DSA キーの組を作成しておきます。 ssh-keygen を実行すると、プライベートキーは~/.ssh/id_dsa に、 公開キーは ~/.ssh/id_dsa.pub に作成されます。 この id_dsa.pub を、リモートマシンの ~/.ssh/authorized_keys2 にコピーしておく ことによって、パスワードを毎回入力することなくログインすることができるように なります。 【手順】 以下の解説の中で、local$ はローカルホスト上での操作を、remort$ はリモート ホスト上での操作を表すプロンプトです。 [SSH protocol version 1 の場合] (1) RSA キーを生成します。 local$ ssh-keygen * 出力するファイル名、パスフレーズの入力を求められますが 何も入力せずに全てEnteyキーを押下して下さい。 (2) 公開キーをリモートホストにコピーします。 local$ scp ~/.ssh/identity.pub name@remort.host: (3) リモートホストにログインし、authorized_keys ファイルを生成します。 local$ ssh name@remort.host remort$ cd .ssh/ remort$ touch authorized_keys remort$ chmod 600 authorized_keys remort$ cat ~/identity.pub >> authorized_keys remort$ rm ~/identity.pub (4) 設定完了です。動作を確認します。 remort$ logout local$ ssh name@remort.host [SSH protocol version 2 の場合] (1) DSA キーを生成します。 local$ ssh-keygen -t dsa * 出力するファイル名、パスフレーズの入力を求められますが 何も入力せずに全てEnteyキーを押下して下さい。 (2) 公開キーをリモートホストにコピーします。 local$ scp ~/.ssh/id_dsa.pub name@remort.host: (3) リモートホストにログインし、authorized_keys2 ファイルを生成します。 local$ ssh name@remort.host remort$ mkdir .ssh remort$ chmod 700 .ssh/ remort$ cd .ssh/ remort$ touch authorized_keys2 remort$ chmod 600 authorized_keys2 remort$ cat ~/id_dsa.pub >>authorized_keys2 remort$ rm ~/id_dsa.pub (4) 設定完了です。動作を確認します。 remort$ logout local$ ssh name@remort.host 【注意】 .ssh/authorized_keys(2) のパーミッションは、所有者に対しては read/write を許可し、 他のユーザーには、アクセスを許可しないで下さい。同ファイルに至るディレクトリの パーミッションにも注意して下さい。ユーザー以外に write を許可してはいけません。 パーミッションが正しく設定されていないと、パスワードを要求されてしまいます。 sshdへのアクセスは/etc/hosts.allowファイルの設定で許可しておく必要があります。 【参考】 protocol version の優先順位を変更するには、設定ファイルの Protocol 項目を修正 してください。 [/etc/ssh/sshd_config] ------------------------- Protocol 2,1 ------------------------- [/etc/ssh/ssh_config] ------------------------- Protocol 2,1 ------------------------- ssh authorized_keys ssh-keygen 関連文書
Last modified : Fri Feb 08 JST 2002 # 2
|
Copyright © Turbolinux, Inc..All Right Reserved.

