SSH公開鍵の設置
2012/01/29
『改訂新版 基礎Ruby on Rails』 読者サポートページ > Rails本番環境構築ガイド
以下、リモートマシンにSSH公開鍵を設置し、パスワードを入力しないでSSHでログインできるようにします。
SSH鍵ペアの作成
まだSSH鍵ペア(秘密鍵と公開鍵)を作成していない場合は、以下の手順で作成します。
ローカルマシン(あなたのPC)でターミナルを開いてください。
Windowsユーザーの方は、MinGW Shell を開いてください。MinGW をまだインストールしていない方は、MinGWのインストールをご覧ください。
次のコマンドを実行します。
$ ssh-keygen
鍵ペアを保存するパスを尋ねられます。基本的にはそのままEnterキーを押せば大丈夫ですが、必要なら変更してください。
Generating public/private rsa key pair. Enter file in which to save the key (/home/kuroda/.ssh/id_rsa):
続いて、秘密鍵を解くためのパスフレーズを尋ねられます。
Enter passphrase (empty for no passphrase): Enter same passphrase again:
このパスフレーズとサーバにログインする時のパスワードは無関係です。なるべく別のものにしてください。空のままにするのはお勧めしません。
~/.ssh
ディレクトリに秘密鍵(id_rsa
)と公開鍵(id_rsa.pub
)ができています。
SSH公開鍵の設置
scp
コマンドで、ローカルマシンからリモートマシンに公開鍵を転送します。
$ scp -P 1022 .ssh/id_rsa.pub kuroda@example.com:~
ポート番号を指定するオプションは -P
(大文字のP)です。デフォルトの22番を使っている場合は、省略可能です。また、ローカルマシンのユーザー名とリモートマシンのログイン名が同じである場合は、kuroda@
の部分も省略可能です。
ssh
コマンドでリモートマシンに接続します。
$ ssh -p 1022 kuroda@example.com
ポート番号を指定するオプションは -p
(小文字のp)です。デフォルトの22番を使っている場合は、省略可能です。また、ローカルマシンのユーザー名とリモートマシンのログイン名が同じである場合は、kuroda@
の部分も省略可能です。
以下のコマンドを順に実行します。
% mkdir --mode=700 .ssh % cat id_rsa.pub >> .ssh/authorized_keys % chmod 600 .ssh/authorized_keys % rm id_rsa.pub
SSHクライアントの設定ファイル
ローカルマシンで ~/.ssh/config
ファイルを開き(まだ存在しないかもしれません)、末尾に次のような内容を追加します。
Host * ForwardAgent yes ServerAliveInterval 300
動作確認
ローカルマシンからリモートマシンに接続します。
$ ssh -p 1022 kuroda@example.com
パスワードを尋ねられずにリモートマシンに接続できればOKです。
SSH秘密鍵を解くためのパスフレーズは尋ねられます。これは正常な動きです。
目次
- VirtualBoxによる仮想マシンのインストール
- MinGWのインストール (Windowsユーザー向け)
- サーバーの準備(CentOS 6.2編)
- サーバーの準備(Ubuntu Server 12.04 LTS編)
- サーバーの準備(Ubuntu Server 10.04 LTS編)
- SSH公開鍵の設置
- Ruby 1.9.3のインストール
- Railsアプリケーションのセットアップ
- ApacheとPhusion Passengerのセットアップ
- データベースとの接続(MySQL編)
- データベースとの接続(PostgreSQL編)
- Capistranoによるデプロイ
- Gitレポジトリの作成
- 続・Capistranoによるデプロイ