秘密鍵と公開鍵は、サーバー側(ssh接続される側)で作ろうがクライアント側(sshコマンドを打って接続しに行く側)で作ろうが、どっちでもいいそうな。
秘密鍵と公開鍵って、どっちをリモートホスト側(sshで接続される側)に置いて、どっちをクライアント側(sshコマンドを打って接続をお願いする側)に置くか、こんがらがりませんか?私は、google検索で、鍵ペアをリモートホスト側で作るやり方とクライアント側で作るやり方、両方見つけてしまって余計こんがらがりました。そこで先輩に、鍵はどっちで作ってどうやって鍵認証設定するのか、聞いてみた。
■基本的なやり方 多くの場合、サーバーを立てて、個人PCからそのサーバーにsshするというものが多い。この場合、以下のように定義できる。 ◎サーバー→リモートホスト(sshで接続される側) ◎個人PC →クライアント(sshコマンドを打って接続しに行く側) *鍵の作り方と鍵認証設定の仕方(概要)* (1)個人PCで鍵ペアを作る (2)個人PCで作った鍵ペアから、公開鍵をサーバー(リモートホスト)に持って行く (3)サーバーに持ってきた公開鍵を設定する (4)サーバーのsshd_configを書き換える
この逆、つまり、サーバー側(sshで接続される側)で鍵ペアを作って、各個人PCに秘密鍵を配るやり方もあるそうな。ただし、sshで接続される側で鍵ペアを作って、秘密鍵を配布するやり方は、以下の場合に取るべき方法だそう。
*sshで接続される側で鍵ペアを作って、秘密鍵を配布するやり方を取る場合* クライアント側(ssh接続をしに行く側)がたくさんいて、各人から公開鍵を回収するのが大変な場合。例えば、ある開発環境(sshで接続される側)に大人数が鍵認証で接続する場合。こういうときは、鍵が全員分集まるのに時間がかかるので、サーバー側(sshで接続される側)で鍵ペアを人数分作っちゃって、配布しちゃうそうな。 *注意事項* ◎作成する鍵ペアは、必ずパスワードを付けておく。 ◎パスワードと秘密鍵は別ルート(別々のメール等)で送る。
臨機応変にしないといけないのね。