MacでSSH認証のための公開鍵と秘密鍵を生成する。
わりとよくやる作業です。
「サーバに接続するから公開鍵よこせ」とか言われて、毎回管理者を困らせまくって来ました。
そろそろやり方をメモします。
SSH認証のための公開鍵と秘密鍵を生成する手順。
前提ですが、ここでのユーザは「you」です。
1.ターミナルを起動し、以下のコマンドを入力して実行する
$ssh-keygen
Enter file in which to save the key(/User/you/.ssh/id_rsa):/User/you/.ssh/id_rsa
2.表示された保存場所および名前「id_rsa」でよければそのままEnterを押してください。
id_rsaがすでにある、あるいは、別の名前を使いたい場合は、「id_rsa」の部分を変更しましょう。
「you」は、「your_rsa」という名前に変更しました。
Enter file in which to save the key (/Users/you/.ssh/id_rsa): /Users/you/.ssh/your_rsa
3.パスフレーズを設定します。「PASSPHRASE」のところに入力してください。
もう一度入力を求められるので、同じパスフレーズを入力します。
絶対に忘れないでくださいね!(とりあえずこの手順がすべて終わるまでは!)
Enter passphrase (empty for no passphrase): PASSPHRASE
Enter same passphrase again: もう一回入力
4.鍵が生成されたはず!
ターミナルで以下のコマンドを実行すると、鍵があるかどうか確かめられます。
あった!
5.サーバやサービスには、「.pub」の付いた公開鍵を渡します。
テキストエディタで開いて、文字がだーっと並んでいる部分だけコピペしてください。
秘密鍵を渡したらダメです!!!
6.SSH認証でアクセスすると、一番上の画像のようにパスワードを訊かれます。
鍵を生成するときに設定したパスフレーズを入力すればログイン成功!
鍵の名前を「id_rsa」から変更した人は、すんなりログインできないかもしれません。
以下の設定などを参考にしてください。
7.おまけ。
秘密鍵を勝手に変更されたら困るので、管理者であるあなた以外は変更できないようにしちゃうコマンド。
(所有者は読み書き可能/所有者以外はファイルに対する操作は一切不可にする)
chmod 600 your_rsa
参考
- 以下のサイトを参考にさせていただきました。下の記事はスクリーンショットが多いのでわかりやすいかな?
Mac OS XでSSHの公開鍵と秘密鍵を設定する。 - るるぷらす
Mac OS XのSSH公開鍵と秘密鍵をまたFTP経由で設定し直した。 - るるぷらす
- ssh-keygenって? コマンドについて調べるにはこちらを。
http://www.unixuser.org/~euske/doc/openssh/jman/ssh-keygen.html