目次
- はじめに
- STEP 1:WSL Ubuntu側でSSH鍵を生成する
- STEP 2:.pubの公開鍵を表示する
- STEP 3:XServerに公開鍵を登録する
- STEP 4:登録後、WSLからSSH接続を確認する
- STEP 5:configファイルでSSH接続を簡略化する
- 躓きポイント
- まとめ
- 関連記事
はじめに
スクラッチPHPで作成したポートフォリオサイトをLaravel 10へ移植する作業にともない、XServerへのデプロイ手順を調査することになりました。
この記事では、WSL UbuntuからXServerへSSH接続するために行った手順と、躓いたポイントを整理します。
Linuxの基本コマンドが不安な方は関連記事の「Webバックエンド初心者向け Linuxコマンド基礎反復練習」を参照してください。
STEP 1:WSL Ubuntu側でSSH鍵を生成する
1. ホームディレクトリへ移動する
まず、WSL Ubuntuでホームディレクトリへ移動します。
cd ~
そのあと、現在地を確認します。
pwd
表示結果が以下のようになっていればOKです。
/home/ユーザー名
2. .ssh ディレクトリがあるか確認する
次に、SSH鍵を保存する .ssh ディレクトリを確認します。
ls -la ~/.ssh
.ssh ディレクトリが表示されればOKです。
既に別用途のSSH鍵が存在する場合でも、今回はXServer用の鍵を別名で作成するため、既存の鍵は触りません。
.sshディレクトリが存在しない場合は、以下のコマンドで作成してください。mkdir -p ~/.ssh chmod 700 ~/.ssh
3. XServer用の鍵がまだないことを確認する
同じ名前の鍵を上書きしないように、事前に確認します。
この記事では、XServer用の鍵ファイル名を xserver_deploy とします。
ls -la ~/.ssh/xserver_deploy*
以下のように表示された場合は、まだXServer用の鍵は作成されていません。
ls: cannot access '/home/ユーザー名/.ssh/xserver_deploy*': No such file or directory
この表示であれば、新しく xserver_deploy という名前で鍵を作成して大丈夫です。
4. 鍵ファイル名について
SSH鍵は、用途ごとにファイル名を分けて作成すると管理しやすくなります。
例えば、GitHub用、XServer用、別サーバー用などを同じ鍵ファイル名で作成すると、既存の鍵を上書きしてしまう可能性があります。
そのため、今回はXServer用であることが分かるように、以下のファイル名で作成します。
~/.ssh/xserver_deploy
~/.ssh/xserver_deploy.pub
.pub が付いていない方は秘密鍵です。
~/.ssh/xserver_deploy
.pub が付いている方は公開鍵です。
~/.ssh/xserver_deploy.pub
XServerに登録するのは、.pub が付いている公開鍵です。
5. XServer用のSSH鍵を生成する
XServer用のSSH鍵を生成します。
ssh-keygen -t ed25519 -f ~/.ssh/xserver_deploy -C "xserver-deploy"
コマンドの意味は以下です。
| 指定 | 意味 |
|---|---|
ssh-keygen |
SSH鍵を作成するコマンド |
-t ed25519 |
ed25519形式の鍵を作成する |
-f ~/.ssh/xserver_deploy |
作成する鍵の保存先とファイル名を指定する |
-C "xserver-deploy" |
鍵に付けるコメントを指定する |
実行すると、パスフレーズを設定するか確認されます。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
今回はデプロイ作業用の鍵として作成するため、何も入力せず Enter を押しました。
鍵の生成が成功すると、以下の2つのファイルが作成されます。
~/.ssh/xserver_deploy
~/.ssh/xserver_deploy.pub
6. 作成された鍵を確認する
最後に、XServer用の鍵が作成されたことを確認します。
ls -la ~/.ssh/xserver_deploy*
以下のように2つのファイルが表示されればOKです。
-rw------- 1 ユーザー名 ユーザー名 xxx 日付 /home/ユーザー名/.ssh/xserver_deploy
-rw-r--r-- 1 ユーザー名 ユーザー名 xxx 日付 /home/ユーザー名/.ssh/xserver_deploy.pub
確認するポイントは以下です。
| ファイル | 役割 | 扱い |
|---|---|---|
~/.ssh/xserver_deploy |
秘密鍵 | 外部に出さない |
~/.ssh/xserver_deploy.pub |
公開鍵 | XServerに登録する |
XServerに登録するのは、次のSTEPで表示する .pub の公開鍵です。
STEP 2:.pubの公開鍵を表示する
XServerに登録するのは、.pub が付いた 公開鍵 です。
次のコマンドを実行します。
cat ~/.ssh/xserver_deploy.pub
実行すると、次のような長い文字列が表示されます。
ssh-ed25519 AAAA... xserver-deploy
これは 公開鍵 なので、次のSTEPでXServerに貼り付ける内容です。
.pubが付かない~/.ssh/xserver_deployは秘密鍵です。
秘密鍵は、XServerの画面・記事・スクリーンショット・チャットなどに貼り付けないように注意してください。
STEP 3:XServerに公開鍵を登録する
1. SSH設定画面を開く
XServerのサーバーパネルから サーバー > SSH設定 を開きます。
SSH設定画面が表示されたら、「+公開鍵を登録」 を押下します。
2. 登録方式は「手動」を選択する
公開鍵の登録画面が表示されたら、登録方式で 「手動」 を選択します。
今回は、WSL Ubuntu側で作成した .pub の公開鍵をXServerに登録するため、手動で進めます。
ラベルには、あとから用途が分かる名前を入力します。
例:
xserver-deploy
公開鍵欄には、WSL Ubuntu側で表示した .pub の内容を貼り付けます。
最後に、「登録する」 を押下します。
3. 公開鍵の登録完了を確認する
公開鍵を登録すると、SSH設定画面に戻ります。
登録したラベルが一覧に表示され、設定状況が ON になっていれば登録完了です。
STEP 4:登録後、WSLからSSH接続を確認する
1. SSH接続情報を確認する
XServerのサーバーパネルで サーバー > SSH設定 > SSHソフト設定 を開くと、SSH接続に必要な情報を確認できます。
確認する項目は以下です。
| 項目 | 内容 |
|---|---|
| サーバー(ホスト名) | SSH接続先のホスト名 |
| ユーザー名 | SSH接続時のログインユーザー名 |
| 接続ポート | 10022 |
2. WSL UbuntuからXServerへSSH接続する
確認した情報を使って、WSL UbuntuからSSH接続します。
ssh -i ~/.ssh/xserver_deploy サーバー(ホスト名) -p 接続ポート -l ユーザー名
初回接続時は、接続先ホストを known_hosts に登録するか確認されます。
Are you sure you want to continue connecting (yes/no/[fingerprint])?
内容を確認して問題なければ、yes を入力します。
接続後、プロンプトが以下のように変わればSSH接続成功です。
[ユーザー名@サーバー番号 ~]$
3. 接続できたら最初に実行する確認
SSH接続後、いきなり作業せずにこれだけ確認します。
pwd
whoami
ls
実行結果の例です。
[ユーザー名@サーバー番号 ~]$ pwd
/home/ユーザー名
[ユーザー名@サーバー番号 ~]$ whoami
ユーザー名
[ユーザー名@サーバー番号 ~]$ ls
backup example.com ssl 初期ドメイン
見るポイントは以下の通りです。
pwd → /home/ユーザー名 付近か
whoami → SSH接続時のユーザー名か
ls → ドメイン名のディレクトリなどが見えるか
SSH接続できたため、以降はXServer上でディレクトリ確認やLaravel配置作業を進められる状態になりました。
STEP 5:configファイルでSSH接続を簡略化する
毎回、秘密鍵・ホスト名・ポート番号・ユーザー名を指定して接続するのは長いため、~/.ssh/config に接続設定を登録します。
1. configファイルの有無を確認する
ls -la ~/.ssh/config
ファイルが存在しない場合は、以下のコマンドで作成します。
touch ~/.ssh/config
安全のため、SSH設定ファイルの権限を設定します。
chmod 600 ~/.ssh/config
2. configファイルを編集する
エディタで ~/.ssh/config を開き、以下の内容を追記して保存します。
Host xserverのxserverは任意の名前なので、既に使っている名前がある場合は別名にしてください。
Host xserver
HostName サーバー(ホスト名)
User ユーザー名
IdentityFile ~/.ssh/xserver_deploy
Port 10022
各項目の意味は以下です。
-
Host:接続時のエイリアス名 -
HostName:XServerのSSHソフト設定に表示されているサーバー(ホスト名) -
User:XServerのSSHソフト設定に表示されているユーザー名 -
IdentityFile:ローカルに保存した秘密鍵のパス -
Port:XServer指定の接続ポート
3. エイリアスで接続する
設定を保存すると、以下のコマンドだけで接続できるようになります。
ssh xserver
接続できれば、configファイルの設定は完了です。
躓きポイント
XServerの用語とSSHコマンドの対応で混乱した
最初、XServerのサーバーID・サーバー番号と、SSH接続時に指定するホスト名・ユーザー名の対応を混同してしまい、SSH接続に失敗しました。
XServerの SSHソフト設定 画面では、SSH接続に必要な情報が サーバー(ホスト名)、ユーザー名、接続ポート として表示されています。
SSH接続時は、以下のように対応させます。
| XServer画面の項目 | SSHコマンドでの使い方 |
|---|---|
| サーバー(ホスト名) | 接続先ホスト名として指定する |
| ユーザー名 |
-l でログインユーザー名として指定する |
| 接続ポート |
-p でポート番号として指定する |
今回接続できた形式は以下です。
ssh -i ~/.ssh/xserver_deploy サーバー(ホスト名) -p 接続ポート -l ユーザー名
今回の接続では、XServerの SSHソフト設定 画面に表示されている サーバー(ホスト名)、ユーザー名、接続ポート を指定しました。
自分で入力する場合は、接続先ホスト名とログインユーザー名を逆にしないよう注意します。
まとめ
今回は、WSL UbuntuからXServerへSSH接続するための手順を整理しました。
作業の流れは以下です。
- WSL Ubuntu側でSSH鍵を生成する
-
.pubの公開鍵を表示する - XServerに公開鍵を登録する
- XServerのSSHソフト設定で接続情報を確認する
- WSL UbuntuからSSH接続する
- 必要に応じて
~/.ssh/configにエイリアスを設定する
特に注意が必要だったのは、SSH接続時に指定する サーバー(ホスト名) と ユーザー名 を混同しないことです。
また、~/.ssh/config に設定を追加することで、次回以降は以下のように短いコマンドで接続できるようになりました。
ssh xserver
これで、LaravelアプリをXServerへデプロイする前準備として、SSH接続できる状態になりました。
関連記事
- 【2026年版】Laravel 10アプリをXServerのサブドメインにデプロイする手順
- Webバックエンド初心者向け Linuxコマンド基礎反復練習(Docker/Ubuntu)



