【徹底解説】エックスサーバーにWindows 11からSSH接続してみた!

【徹底解説】エックスサーバーにWindows 11からSSH接続してみた!のトップ画像
くらうど
CloudStepia運営者|ITエンジニア13年目
VPS・クラウド・AIを実際に使いながら、初心者が「迷わず始められる」情報を発信しています。

当サイトでは、実体験に基づいたレビューと、公式情報・料金・スペックなどの客観的なデータ比較を大切にしています。良い点だけでなく、デメリットや注意点も正直にお伝えします。
すてぴあ

エックスサーバーってSSHで接続できるの?Tera TermとかPuTTYって入れないといけない?

くらうど

Windows 11ならPowerShellだけで接続できるよ。OpenSSHがOS標準で入ってるから、わざわざツールをインストールしなくていいんだ。ただ、エックスサーバー特有のポート番号と公開鍵認証の設定だけは押さえておく必要があるよ。

エックスサーバーへのSSH接続は、Windows 11のPowerShellだけで完結します。

私自身、最初はポート番号の指定を忘れて「なんで繋がらないんだ…」と少し悩みました。本業でもやっているので、すぐ解決できましたが、初めての方には難しく感じてしまうかもしれません。

そこで、初心者の方のお役に立てるように、その失敗も含めて実際にやってみた手順をわかりやすくまとめました。

  • エックスサーバーのSSHってどうやって有効にするの?
  • 公開鍵認証って難しそう…どこから始めればいい?
  • 毎回長いコマンドを打つのが面倒
  • パスフレーズ、接続のたびに入力しないとダメ?

この記事では、サーバーパネルでのSSH有効化から、PowerShellでの接続、configファイルによる簡略化、ssh-agentによるパスフレーズ省略まで、順番に解説します。

一度設定してしまえば、次回以降は ssh xserver の一言で接続できるようになりますよ!

この記事でわかること
  • エックスサーバーのSSHを有効化する方法
  • 公開鍵認証用の鍵ペアを生成・保存する手順
  • PowerShellからSSH接続するコマンド
  • configファイルで接続コマンドを短くする方法
  • ssh-agentでパスフレーズ入力を省略する方法
  • よくあるエラーと対処法

目次

今回の作業環境

まず、今回の作業環境は以下になります。

スクロールできます
項目内容
サーバーエックスサーバー(契約済み)
PCWindows 11
接続方法PowerShell(追加ツールなし)
SSH方式公開鍵認証
SSHポート10022
秘密鍵ファイル名sample.key(記事内での仮名)

ポート番号が 10022 である点は最重要です。
一般的なSSHの 22番ポートとは異なるため、ここを間違えると接続できません。最初に確認しておきましょう!

ポート番号というのは、マンションでいう部屋番号みたいなものだと考えてください。
各部屋にいろいろな仕事をしている人が住んでいますよね。

今回はセキュリティのちゃんとしたデータのやり取りの仕事(ssh)をしてくれる、10022番の部屋を訪ねましょうというイメージです。


ステップ① 公開鍵認証用の鍵ペアを作成する

すてぴあ

公開鍵認証用の鍵ペアっていう言葉を聞いただけで難しそうだわ。

くらうど

心配しなくても大丈夫!順番にクリックするだけで簡単に作成できるよ。

エックスサーバーの管理画面を開く

SSH設定画面には、鍵ペアを生成する機能が用意されています。

エックスサーバの管理画面から、サーバー管理を選択した後に、サーバー選択の「選択する」をクリック。

SSH設定を開く

左側のサーバー⇒SSH設定の順にクリックしましょう。

SSH設定の画面が出るので、「+公開鍵を登録」をクリックしてください。

鍵を生成する

ラベルはわかりやすいように好きな文字列を指定してください。

パスフレーズは「設定する」にチェック。パスワードも設定しましょう。

パスフレーズは後で何度も使います。設定後は必ずメモしておいてください。あとから変更はできますが、忘れると再生成が必要になります。

最後に「登録して秘密鍵をダウンロードする」をクリックです。

鍵生成結果

このように先ほど指定したラベルが登録されていればOKです!

設定状況がOFFになっている場合は、ONに切り替えましょう。

同時に自分のパソコンにダウンロードされる秘密鍵のファイル名は サーバーID.key 形式になります。
この記事では sample.key として説明していきますね。


ステップ② 国外アクセス制限を有効化する

くらうど

国外アクセス制限もしっかりと有効化しておきましょう。

国外アクセス制限の確認

ステップ③ 秘密鍵をWindows 11に保存する

ダウンロードした秘密鍵は、所定の場所に移動しておく必要があります。

保存先は以下です。

C:\Users\ユーザー名\.ssh

スタートメニューから「powershell」と検索しましょう。
Windows PowerShellという検索結果が出るので、クリックして起動します。

powershellを開く

私の場合、最初に .ssh フォルダの存在を確認せずに進めてしまってエラーになりました。

まず最初にフォルダがあるか確認しましょう。
dir $HOME\.ssh と入力した後にEnterキーを押してください。

sshファイルがあるか確認

今回は存在しないといわれていますね。
.ssh フォルダがまだないので、PowerShellで作成していきます。

mkdir $HOME\.ssh
sshフォルダを作成する

次に、ダウンロードフォルダにある秘密鍵を先ほど作った.sshフォルダへ移動します。

move $HOME\Downloads\sample.key $HOME\.ssh\
秘密鍵を移動する

ステップ④ PowerShellでSSH接続する

すてぴあ

いよいよ接続!コマンドって難しい?

くらうど

基本形は決まってるから、自分のサーバーIDを当てはめるだけだよ。ポート番号と秘密鍵のパスを忘れずに指定することがポイントね。

基本のSSH接続コマンドは以下です。

ssh ユーザー名@ホスト名 -p 10022 -i $HOME\.ssh\sample.key

たとえばサーバーIDが sample の場合は以下になります。

ssh sample@sample.xsrv.jp -p 10022 -i $HOME\.ssh\sample.key
スクロールできます
項目内容
ユーザー名サーバーID(XserverアカウントIDではない)
ホスト名サーバーID.xsrv.jp
ポート番号10022
秘密鍵$HOME\.ssh\sample.key

初回接続時は「このホストに接続して本当にいいですか?」という確認が表示されます。

Are you sure you want to continue connecting (yes/no/[fingerprint])?

yes と入力してEnterを押せばOKです。その後、鍵作成時に設定したパスフレーズを入力するとログイン完了です。

sshで接続する

最後の行のように [サーバーID@サーバー番号 ~]$ と表示されていれば接続できています!

すてぴあ

ログインできた!ターミナルにエックスサーバーのプロンプトが出てきたわ。ちゃんと繋がったのが確認できると嬉しいわね!


ステップ⑤ 接続コマンドを短くする(configファイル設定)

毎回長いコマンドを打つのは正直しんどいですよね。

configファイルを使えば、一度設定するだけで次回以降は ssh xserver の一言で接続できるようになります。

PowerShellで以下を実行してメモ帳を開きます。
(先ほどの手順でエックスサーバーにssh接続したままの場合は、一度exitと入力してログアウトしましょう。)

notepad $HOME\.ssh\config
メモ帳を開く

以下の内容を貼り付けて保存します。
もちろん「sample」のところは自分のサーバーIDに変更してくださいね。

Host xserver
  HostName sample.xsrv.jp
  Port 10022
  User sample
  IdentityFile ~/.ssh/sample.key
  ServerAliveInterval 60
txtファイルに必要事項記入

普通にファイルを保存するとconfig.txtのように.txt形式のファイルになってしまいます。
このままだと正常に接続出来ないため、以下のコマンドで拡張子を変えましょう。

Rename-Item $HOME\.ssh\config.txt config
拡張子を変更

これで以下だけで接続できるようになります。

ssh xserver

Host xserverxserver 部分は自分が分かりやすい名前で構いません。my-xserver でも xs でも大丈夫です。


ステップ⑥ パスフレーズ入力を省略する(ssh-agent設定)

すてぴあ

configで短くなったのはいいけど、毎回パスフレーズを入力するのも地味に面倒なんだけど…

くらうど

ssh-agentを使えばそれも解決できるよ。秘密鍵を一度登録しておくと、次回以降はパスフレーズなしで接続できるようになるんだ。

PowerShellを右クリックして管理者として実行して、以下の順に進めます。

ssh-agentを起動する

始めに実際のPowerShellで実行した画面を貼っておきますね。
上から順に1つずつ説明していきます。

ssh-agentの起動

まずは、ssh-agent の状態を確認しましょう。

Get-Service ssh-agent | Select-Object Name, Status, StartType

StartTypeDisabled になっている場合は、ssh-agent を手動起動できる状態に変更しましょう。

Set-Service -Name ssh-agent -StartupType Manual

では、起動してみます!

Start-Service ssh-agent

状態確認してみましょう。StatusがRunning になっていればOKです。

Get-Service ssh-agent

毎回パソコンの電源を入れたときに、自動起動したい場合は続けて以下を実行します。

Set-Service -Name ssh-agent -StartupType Automatic

秘密鍵を登録する

ここでは、管理者のPowerShellではなく、普通のPowerShellを開きなおしましょう。

次のコマンドで秘密鍵を登録します。

ssh-add $HOME\.ssh\sample.key

このとき1回だけパスフレーズの入力を求められます。
正しく入力すると「Identity added~」と出て登録完了です。

次回以降は ssh xserver だけで、パスフレーズなしで接続できるようになります!

とても楽になりましたね!

パスワードなしにする

PCを再起動すると ssh-agent の登録内容がリセットされる場合があります。その場合は再度 ssh-add を実行してください。


よくあるエラーと対処法

私が実際に詰まったポイントも含めて、よくあるエラーをまとめます。

22番ポートで接続しようとしている

エックスサーバーのSSHポートは 10022 です。-p 10022 を省略すると接続できません。私がまず最初にはまったのがこれです。

サーバーIDを間違えている

ユーザー名にはXserverアカウントIDやメールアドレスではなく、サーバーIDを指定します。サーバーIDはサーバーパネルで確認できます。

秘密鍵が見つからない(Identity file not accessible)

秘密鍵の保存場所が違う可能性があります。dir $HOME\.sshsample.key があるか確認しましょう。

Permission denied (publickey) と表示される

SSH設定がOFFのまま、秘密鍵が違う、ユーザー名が違う、ポート番号が違う、パスフレーズが違う——このどれかが原因です。一つずつ確認していくのが確実です。


まとめ|一度設定すれば ssh xserver だけで繋がる

今回は、Windows 11のPowerShellからエックスサーバーへSSH接続する手順を実際にやってみながら解説しました。

  • エックスサーバーのSSHは公開鍵認証方式のみ。パスワード認証では接続できない
  • SSHポートは 10022(22番ではない)
  • 秘密鍵は C:\Users\ユーザー名\.ssh に保存する
  • configファイルを設定すれば ssh xserver だけで接続できる
  • ssh-agentを使えばパスフレーズ入力も省略できる
くらうど

configとssh-agentまで設定しておくと、接続がかなり楽になります。WordPressのファイル操作やログ確認など、SSH経由でできることが増えるので、最初に一通りやっておくのがおすすめですよ。

すてぴあ

最初はちょっと難しそうだったけど、順番に進めたら意外とできたわ!ssh xserver だけで繋がるのが気持ちいいわね。

よかったらシェアしてね!
  • URLをコピーしました!
目次