1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【2026年版】WSL UbuntuからXServerにSSH接続する方法

1
Posted at

目次

はじめに

スクラッチ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設定画面が表示されたら、「+公開鍵を登録」 を押下します。

01-xserver-ssh-public-key-button.png

2. 登録方式は「手動」を選択する

公開鍵の登録画面が表示されたら、登録方式で 「手動」 を選択します。

今回は、WSL Ubuntu側で作成した .pub の公開鍵をXServerに登録するため、手動で進めます。

02-xserver-ssh-public-key-manual.png

ラベルには、あとから用途が分かる名前を入力します。

例:

xserver-deploy

公開鍵欄には、WSL Ubuntu側で表示した .pub の内容を貼り付けます。

最後に、「登録する」 を押下します。

3. 公開鍵の登録完了を確認する

公開鍵を登録すると、SSH設定画面に戻ります。

登録したラベルが一覧に表示され、設定状況が ON になっていれば登録完了です。

03-xserver-ssh-public-key-registered.png

STEP 4:登録後、WSLからSSH接続を確認する

1. SSH接続情報を確認する

XServerのサーバーパネルで サーバー > SSH設定 > SSHソフト設定 を開くと、SSH接続に必要な情報を確認できます。

確認する項目は以下です。

項目 内容
サーバー(ホスト名) SSH接続先のホスト名
ユーザー名 SSH接続時のログインユーザー名
接続ポート 10022

04-xserver-ssh-connection-info.png

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 xserverxserver は任意の名前なので、既に使っている名前がある場合は別名にしてください。

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接続できる状態になりました。

関連記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?