XseverにSSHで接続する方法

プログラミング・コーディング

image

サーバーパネルの設定

sshの有効化

まずはXserverのサーバーパネルにログインして、SSH設定に入ります。

「SSH設定」タブ > 「ON[国内からのアクセスのみ許可]に」を選択

※状況に応じて「ON[すべてのアクセスを許可] ※非推奨」を選択

公開鍵認証用鍵ペアの作成

「公開鍵認証用鍵ペアの生成」タブ > パスフレーズを入力して「確認画面へ進む」

上記の設定で、公開鍵はサーバーに自動で登録され、秘密鍵はローカルPCにダウンロードされます。

入力したパスフレーズはssh接続時に使用します。メモを取るなどし確認ができるようにしておきましょう。

※パスフレーズは省略可能です。省略した場合はssh接続時にパスフレーズ入力の必要がなくなりますがセキュリティ上は設定した方が良いでしょう。

ローカルPCでの作業

秘密鍵の格納

次にパソコンにダウンロードされた秘密鍵をユーザーのホームディレクトリの.sshディレクトリに格納します。(~/.ssh

TIPS

-i オプションを指定することで上記のディレクトリ以外でも任意の場所に配置することができますが、管理上の理由から~/.sshディレクトリに配置することが多いです。

Xserverで生成した秘密鍵はデフォルトで「xs〜.key」というサーバーIDを使用したファイル名になっています。こちらはそのままでも問題ありませんが、管理しやすいように適宜名前を変更しておくと良いでしょう。

また .keyという拡張子は視覚的にわかりやすくするためにつけているもので、sshの動作に拡張子は影響しないため、とってしまっても問題ありません。

パーミッションの変更

上記の秘密鍵のファイルのアクセス権限を自分のみ「読み/書き可能」 それ以外「アクセス不可」に設定します。(8進数の設定は600)

ターミナルからsshで接続する

接続に必要な情報

ユーザー名 {Username}

接続先のサーバーのユーザー名で、Xserverの場合、サーバーパネル上部に「サーバーID」として記載されています。FTPで接続する際のユーザー名と同様です。

ホスト名 {Hostname}

接続先のサーバーのホスト名で、Xserverの場合、sv~.xserver.jpみたいな名前になります。

サーバーパネルの以下に記載されています。

「アカウント」>「サーバー情報」>「サーバー情報」タブ>「ホスト名」

FTPで接続する際のサーバー名と同様です。

接続ポート {Port}

ssh接続に使うポート番号で、本来は「22」であることが多いですが、Xserverの場合「10022」になります。

秘密鍵へのパス {IdentityFile}

先程格納したローカルPCの秘密鍵へのパスを記載します。

例:~/.ssh/xs〜.key

パスフレーズ

公開鍵認証用鍵ペアを生成した際にパスフレーズを設定した場合は接続時に求められます。

ターミナルから接続してみる

ターミナルで上記の情報を元にコマンドを入力し接続してみましょう。

ssh -p {Port} -i {IdentityFile} {Username}@{Hostname}

初めて接続するサーバーだとknown_hostsに追加するかどうかを聞かれるので、yesと入力しましょう。

次にパスフレーズを求められるので、設定したパスフレーズを入力します。

ターミナル上でプロンプトの前に[{Username}@{Hostname} ~]のように表示されていれば接続完了です。

known_hostsとは

sshクライアントが接続したことのあるサーバーの公開鍵を保存しておくためのファイルです。

まとめ

XserverへのSSH接続での注意点は、通常の接続ポート(22)とは異なり、別途ポート番号(10022)を指定する必要があるということです。Xserverに限らずレンタルサーバーにSSH接続する際はドキュメントを確認する癖をつけとくと良いかもしれません。