エックスサーバーに SSH接続用の公開鍵を登録する

0
1766
views

サーバーパネル

まずはエックスサーバーの管理画面、サーバーパネルに行きます。

サーバーパネル
https://www.xserver.ne.jp/login_server.php

サーバーパネルのトップ画面に「SSH」という項目があるので、ここの「SSH設定」から設定画面に進みます。

SSH設定画面

SSH設定画面で「状態」の欄を見ると「OFF」になっています。

まだ何も設定していない初期状態ではSSH機能が OFF になっています。SSHを利用するには、この画面にある「変更」欄にある「ONにする」ボタンを押します。

公開鍵の登録

SSH接続用の公開鍵(公開鍵認証用鍵)のペアは初期状態のPCには存在しません。そのため、SSH接続をするためには、SSH接続ができるコマンドラインツール(CLI)で公開鍵認証用鍵のペア(公開鍵と秘密鍵)を予め作っておく必要があります。

公開鍵のある場所

SSH接続用の公開鍵を過去に作成済みであれば、デフォルトでは C:Usersユーザ名.ssh のディレクトリに公開鍵があるはずです。.ssh フォルダ内にある id_rsa.pub が公開鍵の実体です。

C:.
├─Program Files
├─Windows
└─Users
   └─ユーザ名
       ├─.ssh
       │  agent.env
       │  id_rsa
       │  id_rsa.pub <---------- これがSSH接続用の公開鍵
       │  known_hosts
       ├─Desktop
       ├─Documents
       ├─Downloads
       └─Pictures

ローカルの公開鍵をコピー

この id_rsa.pub をメモ帳などで開いて、内容のテキストをコピーします。

エックスサーバーに登録

エックスサーバーのSSH設定画面に「公開鍵登録・設定」のタブがあるので、タブを押して公開鍵登録画面に進みます。

この画面の大きなテキストエリアに、前段階でコピーした公開鍵のテキストを貼り付けます。「公開鍵を登録する(確認)」ボタンを押下し、次の画面に進みます。

登録内容に間違いがなければ、「公開鍵を登録する(確定)」ボタンを押下し登録を実行します。

これでエックスサーバーへの公開鍵の登録が完了しました。

本当にSSH接続ができるか?の確認

本格的にSSH接続した作業(アップロード、ダウンロード、デプロイなど)をする前に簡単な接続チェックを行います。チェックにはコマンドラインツール(CLI)を使います。

CLI を使う

Windows では TeraTerm、Cygwin、Mintty系の Git Bash などがSSH機能を使えるので、自分の好きな CLI で接続を行います。

エックスサーバーに接続チェックするには以下のコマンドを使います。

$ ssh サーバID@ドメイン -p 10022

接続先の指定

ssh コマンドを使い、「サーバID@ドメイン」で接続先を指定します。

ポート番号の指定

ここで注意したいのは、接続先のポート番号指定です。ssh コマンドのポート番号指定は -p フラグで指定します。一般的なSSH接続のポート番号は「22番」ですが、エックスサーバーでは「10022番」を指定することに注意が必要です。

コマンドの実行

初回の接続では認証が1度も行われていないので、この公開鍵で接続を行っていいかの確認を求めてきます。

間違いがなければ「yes」を入力し、Enter キーを押します。

接続の確立

ローカルの公開鍵のペア、エックスサーバーに登録した公開鍵、接続先、ポートの指定などに間違いがなければ、接続が確立します。

コマンドラインのカーソルに以下のような表示がされれば、サーバのルートディレクトリに接続がされています。

[サーバID@ドメイン ~]$

known hosts への追加

初回接続では、「Permanently added to the list of known hosts」という警告(Warning)が出ます。接続先に間違いが無ければ無視して構いません。

確認済みのホストを登録しておく known hosts ファイルは以下の場所にあります。

C:.
└─Users
   └─ユーザ名
       └─.ssh
          agent.env
          id_rsa
          id_rsa.pub
          known_hosts <---------- 

known hosts ファイルでのホストのリストアップは、以下のような記述で行われています。

[ドメイン]:ポート番号,[IPアドレス]:ポート番号 ssh-rsa 公開鍵

これでエックスサーバーへのSSH接続用公開鍵の登録、接続チェック、一連の作業は完了です。