かわたま.net

Enjoy Creative! かわたまのwebメモ

ssh認証のための公開鍵と秘密鍵を生成する手順 【Mac】

2014 March 17

Tag:

サーバーに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のほうが公開鍵です。(publick?)

#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を設定したら接続するときに問われます。