[ SSH ] 公開鍵認証を使って、パスワード入力の手間を省く

SSH の公開鍵認証と言う方法を使うと、パスワードを入力する手間が省けるみたいなのでやってみました。

今回試してみた環境

  • CORESERVER ( CORE-A )
  • Mac OS 10.6.4

SSH 接続用の RSA 鍵 ( 公開鍵と秘密鍵 ) を作成する

ローカルマシン ( Mac OS X ) でターミナルを起動し、次のコマンドを入力します。

$ ssh-keygen

鍵ファイルを保存する場所を聞かれるので、そのまま Enter を押す。

次に RSA 鍵自体を暗号化するパスフレーズを聞かれるので、パスフレーズを入力して Enter を押す。 パスワードを設定しない場合は、空白のまま Enter を押す。

すると、~/.ssh の中に id_rsa と id_rsa.pub と言うファイルが生成される。

公開鍵を CORESERVER で設定する

CORESERVER のホームディレクトリに id_rsa.pub を転送する。 リモートへの転送が終わったら、ローカルにある id_rsa.pub は必要ないみたい。

CORESERVER に SSH で接続して、次のコマンドを入力します。 ( ## から始まる行は、分かりやすくする為のコメントなので入力しないでください )

## ~/.ssh ディレクトリを作る
$ mkdir .ssh
## ~/.ssh の権限を設定
$ chmod 700 .ssh
## 鍵ファイルを .ssh に移動
$ mv id_rsa.pub .ssh/
## .ssh に移動
$ cd .ssh
## authorized_keys を作成
$ touch authorized_keys
## 鍵の中身を authorized_keys にコピー
$ cat id_rsa.pub >> authorized_keys
## 自分だけが読める権限に変更
$ chmod 600 authorized_keys
## 必要ないと思うので消去する
$ rm id_rsa.pub

ここまでの設定が終わると、

$ ssh example@s**.coreserver.jp

上記コマンドにより、パスワード入力なしでログイン出来るようになる。

もっと簡単に SSH 接続できるようにする

ローカルマシンの ~/.ssh/config に次のように書いておくと、

$ ssh coreserver

だけでログインできるようになる。

Host coreserver
    HostName s**.coreserver.jp
    User example
    IdentityFile ~/.ssh/coreserver/id_rsa

複数のサーバがある場合は、上記の様にフォルダ分けしてファイルを入れておけば良いのかな?

参考にさせてもらったページ

ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。