2011-11-17

Quick Start for Public Key Authentication on SSH



今までのプロジェクトの遺産で、別に公開しても良さそうな簡単な技術の話は公開しましょうねキャンペーン実施中。今回は、SSHの公開鍵設定の話。仕組みとかは原理とかは全部端折ってます。


以下、SSHの公開鍵設定についてのお話。
=======================

ここではSSHの公開鍵設定を原理などを省いて説明します。
Linux/OSXなどのUNIX系のみで有効な説明ですが、Windowsユーザの方はPuTTYのオプション
であるのでググれば説明があると思います。


1. 鍵をつくる
--------------
まず、公開鍵と秘密鍵のペアを作ります。

 $ ssh-keygen

オプションがいろいろありますが、詳細はmanしてください。
色々聞かれますが、基本全部デフォルトのままでいいのでエンター押してください。
パスワードが必要なら入力してください。

すると~/.ssh以下にid_rsaとid_rsa.pubというファイルができます。
id_rsaが秘密鍵、id_rsa.pubが公開鍵です。


2. 公開鍵をサーバーに置く
---------------------------
これは任意の方法で行なってください。

 $ scp ~/.ssh/id_rsa.pub 112.233.445.566:~/id_rsa.pub

など。

# 112.233.445.566 はお手持ちのサーバのIPアドレスに脳内変換して下さい。


3. 公開鍵をキーチェーンに追加する
------------------------------------
~/.sshの下にあるauthorized_keysに公開鍵を追加します。
サーバ上での自分がログインするユーザのホームディレクトリ以下の.sshです。

 $ ssh 112.233.445.566
 $ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

以上です。

ちなみに、2. 3. は初回であれば

 $ scp ~/.ssh/id_rsa.pub 112.233.445.566:~/.ssh/authorized_keys

のようにひとつのステップで省略できます。

また、~/.ssh/configを以下のように設定しておくと楽です。
(べつにシェルの履歴で簡単に辿れますが)

$ /Users/yasulab/.ssh% cat config 
  Host hogehoge
      Compression yes
      Hostname 112.233.445.566
      User yasulab

$ /Users/yasulab/% ssh hogehoge

この~/.ssh/configの設定により、以降、hogehoge サーバにパスワード無しでログイン出来るようになります。

以上、SSHの公開鍵設定についてのお話でした。


0 件のコメント: