秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を作成して、ssh認証の初期設定をする方法

エンジニアとしてキャリアを積みはじめた頃、基礎中の基礎と言っても過言ではない、「秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を作成して、ssh認証の初期設定をする方法」を紹介します。

秘密鍵とは

秘密鍵

id_rsa

クライアント側で設置をしておく、誰にも教えても渡してもいけない鍵になります。

つまり自分自身が秘密鍵を、/Users/<user名>/.ssh/id_rsa のように設置してsshログインをするときに利用する使い方をします。

公開鍵とは

公開鍵

id_rsa.pub

id_rsa.pubとなるサーバー側に設置をしておく鍵になります。

拡張子が、.pub(public:公開)という覚え方をすればわかりやすいです。

公開鍵は、秘密鍵から作られていて、その秘密鍵と対となることで、高い秘匿性を保持しています。

また現在では公開鍵から秘密鍵を特定するのは不可能とまで言われています。

初期設定手順

鍵の作成

兎にも角にも鍵を作成することから始めます。

今回はMacのターミナルを想定して行っていきます。

この時に、.sshディレクトリがない場合は作成をしておきましょう。

.sshディレクトリに入ったら、以下のコマンドで鍵を作成します。

ssh-keygen -t rsa コマンドを入力すると、Enter passphrase (empty for no passphrase):と聞かれますが、ここは何もせずにエンターで構いません。

ちなみにこれは鍵ファイル自体のパスワードになります。

どうしても設定したい人はパスワードを設定してください。

.sshディレクトリに、id_rsaとid_rsa.pubが作成されているのを確認できました。

公開鍵の中身メモ

cat id_rsa.pubコマンドでssh-rsaで始まる中身をコピーしてどこかに一時的に記録をしておきます。

そしてコピーができたら、rmコマンドで削除をしておきます。

権限の設定

id_rsaとid_rsa.pubが作成されたので、管理権限を付与する必要があります。

きちんと正しく設定しないと必ずPermission denied(接続拒否)されますので、権限の数字の意味(600, 700)も理解した上で設定をしてください。

サーバーに渡す

権限の設定もできたら、サーバー側にauthorized_keysファイルを作成し、中身は先ほど% cat id_rsa.pubコマンドで出力したssh-rsaで始まる文字列をペーストしておく必要があります。

前提条件としてパスワード認証や.pemファイル認証で、サーバーに入れることが条件になりますので、サーバーに入っている前提で設定をしていきます。

viの入力モードになったら、「i」をクリックし編集モードになります。

その状態でssh-rsaで始まる文字列をペーストし、最後にescキーを押して:wq!で保存して終了します。

以上で準備ができました。

sshログインを実行する

準備ができたので、.sshディレクトリに戻り、早速ssh接続を試みます。

問題なければログインすることができます。

以上。

最後に

いかがでしたでしょうか。

以上が、「秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を作成して、ssh認証の初期設定をする方法」の紹介記事になります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です