たこさんのメモ書き

Linuxの設定/構築のメモを残すのが主体です。
わからないこと、あれこれたくさん。

sshで接続する設定(RSA公開鍵)

2006-04-25 00:27:49 | サーバー管理
サーバーに遠隔ログインしてリモート操作するには、通信を暗号化して接続するsshというものを使う。
これには、パスワードによる接続と、RSAまたはDSA鍵による接続の方法がある。
パスワードよりも、RSAやDSAによる公開鍵方式の方が安全性が高いらしい。
ただし、RSA・DSAの方は、クライアント側の方で秘密鍵・公開鍵を作って、公開鍵の方を接続先のサーバーへ渡す必要があり、設定が必要。

サーバーの管理者さんから、パスワードによる接続を許可してもらっている。
セキュリティ上、「RSA公開鍵暗号による認証」へ切替えることになった。
「RSA公開鍵認証」を行う方法は、おおよそ以下のとおり。
1.サーバーへ接続するユーザーの、公開鍵と秘密鍵を作成。
2.接続先のサーバーへ、接続元のユーザーの公開鍵を渡す。

実際の作業
1.ssh-keygenコマンドを使って、「鍵」を作る。
仮想端末上で、
$ ssh-keygen -t rsa
すると、「鍵」が自動で作られる。
処理中に、パスフレーズの入力を求められるので、忘れにくいパスフレーズをいれる。
すると、/home/who/.ssh/以下に秘密鍵と公開鍵が作られる。
id_rsaが秘密鍵、id_rsa.pubが公開鍵。

2.公開鍵を、接続先のサーバーへ送る。
送る先は、接続先の、/.ssh/authorizde_keysというファイル。
.sshというディレクトリは、接続先サーバーにある自分のホームディレクトリの、/home/who/へ作っておく必要がある。

今回は以下のようにした。
id_rsa.pubをまずコピーして、authorizde_keysというファイルにリネーム。
これを、scpを使ってサーバーへコピーした。
$ scp ~/.ssh/authorizde_keys host@www.hogehoge.jp:/home/who/.ssh/

以上で設定は完了。
sshでサーバーへ接続すると、パスワードに代わってパスフレーズを入力するようになる。

参考:「簡単SSH」
http://www.netlab.is.tsukuba.ac.jp/~one/ssh/#first