ssh認証のための公開鍵と秘密鍵を生成する手順 【Mac】
2014 March 17
サーバーにssh接続する際、パスワードによるユーザー認証でも良いのですが、パスワードを盗まれてしまう危険があります。
そのため、SSH接続ではパスワード認証ではなく、管理が容易で安全性が高い公開鍵暗号方式(公開鍵と秘密鍵)を用いた認証による接続が推奨されています。
公開鍵暗号方式とは、ユーザが独自に「公開鍵」と「秘密鍵」と呼ばれる二つの鍵をペアで作成し、その二つの鍵を使ってデータの暗号化/復号化を行う認証方法です。
安全性が高くて設定も簡単!手順をメモします。
#1:ターミナルから ssh-keygen コマンドを入力して実行。
ローカルのhomeディレクトリ(起動して最初の場所)から行います。
$ssh-keygen Enter file in which to save the key(/User/you/.ssh/id_rsa):/User/you/.ssh/id_rsa
保存場所、名前(id_rsa)がそのままで良ければEnter。
#2:パスフレーズを入力。
必要なければ空白のままEnter。
Enter passphrase (empty for no passphrase): PASSPHRASE Enter same passphrase again: もういちど入力
これで鍵が生成されました。簡単!
念のため確認。
$cd ~/.ssh $ls -la -- id_rsa id_rsa.pub
ふたつできてます☆
.pubのほうが公開鍵です。
#3:サーバーに公開鍵をアップロード
サーバーのホームディレクトリに.sshディレクトリを作成。
ターミナル(サーバーにログインしている状態)から下記コマンドを入力。
# ホームディレクトリ $ cd # .sshディレクトリを作成 $ mkdir .ssh
ターミナル(ローカル)から下記コマンドを入力。
$ scp -P 22 ~/.ssh/id_rsa.pub ユーザー名@IP:~/.ssh/authorized_keys
#4:公開鍵のパーミッションを変更
管理者以外ファイルを変更できないようにパーミッションを変更しましょう。
サーバーにアップロードしたauthorized_keysと、.sshディレクトリのパーミッションを変更。
$ chmod 700 .ssh $ chmod 600 .ssh/authorized_keys
以上で設定完了です^O^
$ ssh ユーザー名@IP -p ポート番号
でssh接続できます。
#2でPASSPHRASEを設定したら接続するときに問われます。