とあるエンジニアの備忘log
2012年10月1日月曜日
公開鍵暗号による ssh 接続
ssh でパスワードではなく、公開鍵暗号によってログインする方法。 ### 動作の仕組み ### 1. サーバーは接続してきたユーザーの公開鍵を `~/.ssh` ディレクトリから取り出す。 「乱数」を生成し、その乱数を公開鍵で暗号化してクライアントに送る 2. クライアントは、サーバーから送られてきた乱数を、秘密鍵で復号化し、サーバーに送り返す 3. サーバーは自分が作った乱数と、クライアントから戻ってきた値を照合し、一致すれば正しいユーザーと判断する ### 設定方法 ### #### クライアント側 #### $ ssh-keygen -t rsa 途中でパスフレーズ入力を求められる。 パスフレーズは秘密鍵を取り出すときに必要になります。 パスフレーズは省略もできます。 秘密鍵 `~/.ssh/id_rsa` および 公開鍵 `~/.ssh/id_rsa.pub` が生成される。 どんな方法でもよいので、公開鍵を ssh サーバーに送る。 (公開鍵なので、途中で傍受されてもよい。) #### サーバー側 #### $ cat id_rsa.pub >> ~/.ssh/authorized_keys うっかりしやすいのが、 `authorized_keys` のパーミッションです。 group に write permission がついているとうまくいきません。 $ chmod go-w ~/.ssh/authorized_keys のようにしておきます。 これ以降、公開鍵暗号方式でssh接続できる。 パスフレーズを省略していると、(セキュリティ的に脆弱だが)パスワードをいちいち入れずに、sshでログインできるようになる。
0 件のコメント:
コメントを投稿
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿