• お問い合わせ
  • ユーザー登録
ドキュメント
サポート案内
ユーザー登録
サポートセンター
ドキュメント
ダウンロード
セキュリティ
よくある質問とその回答
製品マニュアル
カタログ
収録パッケージ一覧


ツールの解説 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

関連文書
(none)


Last modified : Fri Feb 08 JST 2002 # 2