受付9:00~18:00 ※土日祝除く
2025.08.272025.08.27
Web制作 システム
エックスサーバーは高速で低価格なサーバー会社として知られています。共有サーバーにおいても高いセキュリティを保つため、SSH接続をデフォルトでは禁止しており、パスワードでのSSH接続は一切認めていません。
そのためターミナルからコマンドで公開鍵認証用鍵を作成してサーバーに設置することができず、コントロールパネルから作業を行う必要があります。設定方法を以下にまとめます。

秘密鍵の設定について
作業の前に通常の秘密鍵の設定の手順と、今回Xserverでの手順をまとめておきます。非常に簡単に行えることがわかります。
通常の作業
(1)サーバーにSSHで接続する
(2)ssh-keygenコマンドで鍵のペアを作成する
(3)クライアント側の.sshフォルダにペアを保管する
(4)リモート側の.sshフォルダに公開鍵のみを保管する
Xserver レンタルサーバーの作業
(1)サーバーパネルから鍵のペアを作成する
→公開鍵も自動的に登録される
(2)クライアント側(ローカル)の.sshフォルダにペアを保管する
サーバーパネルから鍵ペアを作成する
まず鍵の作成を行います。サーバーパネルから簡単に作ることができます。サーバーパネルからログインします。
https://secure.xserver.ne.jp/xapanel/login/xserver/server/

「アカウント」の中にある「SSH設定」を選択します。このときサーバーIDをどこかに控えておきます。XServerでは「サーバーID.xsrv.jp」がサーバー名となります。後で使用します。

前述のとおりXServerではデフォルトではSSHの接続ができないようになっています。「ON[国内からのアクセスのみ許可]を選択して「設定する」ボタンをクリックします。

「公開鍵認証用鍵ペアの生成」のタブをクリックします。パスフレーズを入れて「確認画面へ進む」をクリックするとすぐに鍵を生成できます。
パスフレーズは省略も可能ですが、設定した方がセキュリティレベルは上がります。「確認画面へ進む」をクリックします。

「公開鍵認証用鍵ペアの生成」のタブをクリックします。パスフレーズを入れて「確認画面へ進む」をクリックするとすぐに鍵を生成できます。
パスフレーズは省略も可能ですが、設定した方がセキュリティレベルは上がります。「確認画面へ進む」をクリックします。

通常であれば秘密鍵と公開鍵のペアが作成されるところですが、公開鍵は自動で登録されるため、秘密鍵のみがダウンロードされます。
公式でも丁寧に説明したページがあります
https://www.xserver.ne.jp/manual/man_server_ssh.php
秘密鍵をローカル環境に設置する
作成&ダウンロードした秘密鍵をローカルに設置します。Windowsの場合はエクスプローラーでコピーしても構いません。
mv ~/Downloads/サーバーID.key ~/.ssh/
.sshフォルダがない場合は作成します。
# .sshフォルダがない場合は作成
mkdir ~/.ssh
鍵の名前は任意のものに変更してもOKです。サンプルのid_rsaはデフォルトで使われる名称です。自分で判別しやすいものにしてください。
mv ~/Downloads/xs*****.key id_rsa
パーミッションの設定
パーミッションの設定を行います。.sshは700、秘密鍵は600です。パーミッションでエラーになることは多いですので必ず設定しましょう。
# .sshフォルダを700に
chmod 700 ~/.ssh
# 秘密鍵を600に
chmod 600 ~/.ssh/id_rsa
Windowsのパーミッション
WindowsとLinuxではパーミッションの構造が異なるため、Windows環境でコマンドからパーミッションを設定しても意味がありません。(が、エラーなども特に出ません)WindowsではNTFSのACLで管理されるからです。とはいえ、ACLはデフォルト600想定と判断することから、SSH鍵については何もせずに通ることがほとんどですのでここでは省略します。どうしても通らない場合はACLの権限を調整してください。
ログインしてみる
ログインしてみます。Xserverのレンタルサーバーの場合に留意する点は以下3点です。
- XserverのSSHは22番ではなく10022番ボートを使用します。-p オプションで指定できます。
- 秘密鍵のファイルを明示的に指定する必要があります。-i オプションで指定できます。(Xserverの公開鍵情報は authorized_keys ファイルに格納されているため)
- Xserverのユーザー名は「サーバID」、サーバ名は「サーバID.xsrv.jp」です。
以上を踏まえて下記のように入力します。
ssh -i ~/.ssh/id_rsa サーバーID@サーバーID.xsrv.jp -p 10022
パスフレーズを設定した場合には入力を求められますので入力します。 あるいは-l オプションでユーザー名を指定しても大丈夫です。
ssh -l サーバーID -i ~/.ssh/id_rsa サーバーID.xsrv.jp -p 10022
コマンドが長くなってしまうため、configファイルに追加して楽にログインできるようにしてみます。
configファイルでログイン設定をする
ローカルの .ssh フォルダに config(拡張子なし)ファイルを作成します。今回はviエディタを使いますが、エディタは何でも構いません。VScodeなどGUIのエディタを使うときには文字コードに注意してください。UTF-8(BOMなし)やUTF-8Nなどの文字コードを使用します。
vi ~/.ssh/config
# .ssh フォルダにconfigファイルを作成します。
# すでにファイルがある場合には既存の設定の次の行に記述します。
configファイルに記述していきます。内容はログイン時に入力したものと同じです。IdentitiesOnlyはなくても構いませんが、他の鍵でアクセスする予定がなければ入れておいた方がセキュリティ的には安心です。「sample-server」の箇所は適宜設定してください。
Host sample-server
HostName サーバーID.xsrv.jp
User サーバーID
Port 10022
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
設定した名称で簡単にSSH接続できます。
ssh sample-server
参考
お問い合わせCONTACT
株式会社エー・エム・ティーは
印刷物からホームページ制作・更新運用管理までトータルサポート。
企業様の課題解決や企業価値向上のお手伝いをいたします。