すてぴあエックスサーバーって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でパスフレーズ入力を省略する方法
- よくあるエラーと対処法
今回の作業環境
まず、今回の作業環境は以下になります。
| 項目 | 内容 |
|---|---|
| サーバー | エックスサーバー(契約済み) |
| PC | Windows 11 |
| 接続方法 | PowerShell(追加ツールなし) |
| SSH方式 | 公開鍵認証 |
| SSHポート | 10022 |
| 秘密鍵ファイル名 | sample.key(記事内での仮名) |
ポート番号が 10022 である点は最重要です。
一般的なSSHの 22番ポートとは異なるため、ここを間違えると接続できません。最初に確認しておきましょう!
ポート番号というのは、マンションでいう部屋番号みたいなものだと考えてください。
各部屋にいろいろな仕事をしている人が住んでいますよね。
今回はセキュリティのちゃんとしたデータのやり取りの仕事(ssh)をしてくれる、10022番の部屋を訪ねましょうというイメージです。
ステップ① 公開鍵認証用の鍵ペアを作成する



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



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


SSH設定画面には、鍵ペアを生成する機能が用意されています。
エックスサーバの管理画面から、サーバー管理を選択した後に、サーバー選択の「選択する」をクリック。


左側のサーバー⇒SSH設定の順にクリックしましょう。
SSH設定の画面が出るので、「+公開鍵を登録」をクリックしてください。


ラベルはわかりやすいように好きな文字列を指定してください。
パスフレーズは「設定する」にチェック。パスワードも設定しましょう。
最後に「登録して秘密鍵をダウンロードする」をクリックです。


このように先ほど指定したラベルが登録されていればOKです!
設定状況がOFFになっている場合は、ONに切り替えましょう。
同時に自分のパソコンにダウンロードされる秘密鍵のファイル名は サーバーID.key 形式になります。
この記事では sample.key として説明していきますね。
ステップ② 国外アクセス制限を有効化する



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


ステップ③ 秘密鍵をWindows 11に保存する
ダウンロードした秘密鍵は、所定の場所に移動しておく必要があります。
保存先は以下です。
C:\Users\ユーザー名\.ssh
スタートメニューから「powershell」と検索しましょう。
Windows PowerShellという検索結果が出るので、クリックして起動します。


私の場合、最初に .ssh フォルダの存在を確認せずに進めてしまってエラーになりました。
まず最初にフォルダがあるか確認しましょう。dir $HOME\.ssh と入力した後にEnterキーを押してください。


今回は存在しないといわれていますね。.ssh フォルダがまだないので、PowerShellで作成していきます。
mkdir $HOME\.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です。その後、鍵作成時に設定したパスフレーズを入力するとログイン完了です。


最後の行のように [サーバー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


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

これで以下だけで接続できるようになります。
ssh xserver
ステップ⑥ パスフレーズ入力を省略する(ssh-agent設定)



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



ssh-agentを使えばそれも解決できるよ。秘密鍵を一度登録しておくと、次回以降はパスフレーズなしで接続できるようになるんだ。
PowerShellを右クリックして管理者として実行して、以下の順に進めます。
ssh-agentを起動する
始めに実際のPowerShellで実行した画面を貼っておきますね。
上から順に1つずつ説明していきます。


まずは、ssh-agent の状態を確認しましょう。
Get-Service ssh-agent | Select-Object Name, Status, StartType StartType が Disabled になっている場合は、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 だけで、パスフレーズなしで接続できるようになります!
とても楽になりましたね!


よくあるエラーと対処法
私が実際に詰まったポイントも含めて、よくあるエラーをまとめます。
- 22番ポートで接続しようとしている
- サーバーIDを間違えている
- 秘密鍵が見つからない(Identity file not accessible)
- Permission denied (publickey) と表示される
まとめ|一度設定すれば 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 だけで繋がるのが気持ちいいわね。









