« | »

2008.03.05

パスワードなしSSH接続

SSHを利用する場合通常パスワードを用いて認証を行いますが
公開鍵を使ってホストの証明を行い
この鍵を事前に承認しておいて、鍵が一致すればパスワードの入力をせずに接続することができます。
今回サーバ再構築のときに方法をまた調べたのでついでにメモメモ。

公開鍵暗号方式には一般的に使われるものとして
RSAとDSAがありますが、個人的趣味ではRSAのほうが好きです。
ということでRSAを使った認証方法を記載します。

なにはともあれキーを生成。
リモートに接続するユーザで作成してください。

$ ssh-keygen

キーの保存場所とファイル名を聞かれますが変えたかったら変えてください。
ここでは「id-rsa」というファイルが作成されたと仮定します。
パスフレーズについては入力せずにそのまま[Enter]を。

どうにかして公開キー(上記コマンドで生成された鍵ファイルのid-rsa.pubと名前がついた方)を
リモートホストにコピーします。これは好きな方法で勝手にどうぞ。

続いてリモートホストにログインし、そのキーに対する接続の許可を設定します。
接続を許可するユーザでログインしてください。

$ cd .ssh/
$ touch authorized_keys
$ chmod 600 authorized_keys
$ cat ~/id-rsa.pub >> authorized_keys
$ rm ~/id-rsa.pub

これでキーを作成したホストから
リモートホストの許可したユーザへSSH接続する場合にパスワードが不要になります。

この「authorized_keys」という設定ファイルに書かれているキーと一致すれば
接続を許可してくれるみたいです。
他のホストからに対しても同様の形で追加していけば大丈夫です。
あとauthorized_keysはアクセス許可が600じゃないとうまくいかないようなので注意です。

Trackback URL

Comment & Trackback

No comments.

Comment feed

Comment





XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>