zakihayaメモ

RubyとRailsのことが中心

MacからCentOSへ公開鍵認証を使ってSSH接続する

環境

ローカル OS X Lion
ホスト  CentOS6.2

ローカルでの作業

鍵ファイルを作成する
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa): 
 # Enterを押す
Enter passphrase (empty for no passphrase): 
 # 任意のパスフレーズを入力
Enter same passphrase again: 
 # パスフレーズ確認
作成された鍵ファイルの確認

秘密キーが ~/.ssh/id_rsa ファイルに、公開キーが ~/.ssh/id_rsa.pub ファイルに保存される。

$ ls .ssh
id_rsa       id_rsa.pub
公開鍵ファイルをホストにコピー

scpで公開鍵ファイル(id_rsa.pub)をホストにログインした先のホームディレクトリに置いておく。

ホストでの作業

sshでホストにログイン。

初めて公開鍵を登録する場合

.sshディレクトリと、.ssh/authorized_keys ファイル を作って、パーミッションを設定する。

$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
公開鍵ファイルの内容をauthorized_keysに追加する
$ cat id_rsa.pub >> .ssh/authorized_keys

ローカルの.ssh/configの設定

ここに設定しておくとssh接続が楽になる

$ vi .ssh/config 
Host example
  Hostname www.example.com
  User user_name
  IdentityFile ~/.ssh/id_rsa

Host:接続する時に使用する名前
Hostname:接続先のホスト名
User:接続先のユーザー名
IdentityFile:秘密鍵ファイルのパス

と設定しておくと

$ ssh example

とすればホストに接続できる

初回ログインの時のみパスフレーズを聞かれる