SSHはコマンドでサーバーを操作するための接続方法です。FTPがファイルの出し入れに特化しているのに対し、SSHはサーバー上でコマンドを実行できます。圧縮ファイルの展開、大量ファイルの一括処理、GitHubからの自動デプロイといった用途で威力を発揮します。ここでは有効化の手順、公開鍵認証の設定、できること・できないことを整理します。ファイルの出し入れだけならFTPの記事で十分です。
SSHが必要かどうかの判断:ファイルをアップロード・ダウンロードするだけならFTPやファイルマネージャで十分です。SSHが要るのは、①圧縮ファイルをサーバー上で展開したい、②大量のファイルをコマンドで一括処理したい、③GitHubなどから自動デプロイしたい、のいずれかに当てはまるときです。
FTPとSSHの違い
| FTP | SSH | |
|---|---|---|
| できること | ファイルの転送 | コマンドの実行+ファイル転送 |
| 通信の暗号化 | FTPSを選べば暗号化 | 標準で暗号化 |
| 圧縮ファイルの展開 | できない(ダウンロードして展開) | サーバー上でできる |
| 大量ファイルの一括処理 | 手作業 | コマンドで一括 |
| 自動デプロイ | 可能だが制約あり | 向いている |
| 必要な知識 | 少ない | コマンドの基礎知識 |
| 初期状態 | 使える | 有効化が必要 |
SSHはコマンドの知識が必要な代わりに、できることが広がります。初期状態では無効なので、サーバーパネルから有効にする作業が最初に必要です。
設定の手順
- 1 SSHキーペアを作成する手元のパソコンで公開鍵と秘密鍵のペアを作る。秘密鍵は絶対に他人に渡さない。サーバーパネル側で生成する方法もある
- 2 サーバーパネルでSSH設定を開くサーバーパネルの「SSH設定」からSSHを有効にする。初期状態では無効。操作場所はサーバーパネルの使い方を参照
- 3 公開鍵を登録する作成した公開鍵をサーバーパネルに登録する。秘密鍵は登録しない
- 4 接続情報を確認するホスト名・ユーザー名(サーバーID)・ポート番号をサーバーパネルで確認する。SSHのポートは標準の22番ではないので、表示された値を使う
- 5 手元の端末から接続するターミナル(Windowsならコマンドプロンプトなど)からSSHコマンドで接続し、ログインできることを確認する
秘密鍵の扱いに注意してください。秘密鍵はサーバーへの入室鍵そのものです。メールで送る、クラウドストレージに平文で置く、リポジトリに含めるといった扱いは避けてください。漏れた場合はサーバーに自由にアクセスされます。
接続情報について
| 項目 | 入れるもの |
|---|---|
| ホスト名 | サーバーパネルに表示される値 |
| ユーザー名 | サーバーID(xsから始まる英数字) |
| ポート番号 | 標準の22番ではない。サーバーパネルの表示を確認 |
| 認証方式 | 公開鍵認証 |
値は契約しているサーバーによって異なります。当サイトでは推測値を掲載せず、サーバーパネルの表示を確認していただく方針です。
ポート番号が標準と違う点が、最初につまずきやすいところです。ポート指定なしで接続しようとすると失敗します。サーバーIDの確認方法はXserverアカウントの記事にまとめています。
SSHでできること・できないこと
共用レンタルサーバーなので、できることには範囲があります。
| できること | できないこと |
|---|---|
| 自分の領域内でのファイル操作 | root権限での操作 |
| 圧縮ファイルの展開・作成 | サーバー全体の設定変更 |
| コマンドでの一括処理 | 任意のソフトウェアのインストール |
| データベースの操作 | 常駐プロセスの実行 |
| Gitコマンドの利用 | Node.js・Dockerの本格運用 |
| cron(定期実行)の設定 | ポートの開放 |
出典:エックスサーバー公式の機能一覧(2026年9月3日確認)。個別の技術要件は公式ページで確認が必要です。
root権限が必要な用途はVPSの領域になります。共用サーバーである以上、他の利用者に影響する操作はできません。できることの全体像はできること一覧にまとめています。
自動デプロイに使う場合
GitHubにコードを置いて、pushしたら自動でサーバーに反映する、という構成が組めます。
一般的な流れは次のとおりです。
- SSHの公開鍵認証を設定する
- GitHubのリポジトリに秘密鍵をSecretsとして登録する
- GitHub Actionsのワークフローで、ビルドしてSSH経由でファイルを配置する
秘密鍵をリポジトリに直接書き込まないでください。公開リポジトリなら誰でも見られますし、非公開でも履歴に残ります。必ずGitHubのSecrets機能を使ってください。
また、デプロイ先のパスを間違えると公開領域のファイルを消してしまうことがあります。設定時は必ずテスト用のフォルダで動作を確認してから、本番のパスに切り替えてください。
静的サイトジェネレータで作ったサイトや、ビルドが必要なサイトを運用する場合に有効な構成です。WordPressの場合は簡単インストールや簡単移行があるため、通常この仕組みは不要です。
接続できないときの確認
| 症状 | 疑うところ |
|---|---|
| 接続が拒否される | SSHが有効になっていない |
| タイムアウトする | ポート番号(標準の22番ではない) |
| 認証で弾かれる | 公開鍵が登録されていない、秘密鍵のパスが違う |
| Permission denied | ユーザー名(サーバーID)の誤り |
| 会社・学校で接続できない | ネットワーク側でポートが遮断されている |
確認する順番は①SSHが有効か → ②ポート番号 → ③ユーザー名 → ④鍵の設定です。この順で見れば、ほとんどのケースは解決します。
別の回線(スマートフォンのテザリングなど)で試すと、ネットワーク側の制限かどうかを切り分けられます。
セキュリティ上の注意
SSHはサーバーに直接アクセスできる強い権限を持ちます。
- 公開鍵認証を使う。パスワード認証より安全です
- 秘密鍵にパスフレーズを設定する。鍵ファイルが漏れても即座には使われません
- 秘密鍵を共有しない。複数人で作業する場合は、それぞれの鍵を登録します
- 使わないときは無効にする。作業が終わったらSSHを無効に戻すという運用もあります
- 不要になった公開鍵は削除する。制作会社に渡した鍵などは、作業終了後に削除してください
まとめ
SSHはコマンドでサーバーを操作する接続方法で、圧縮ファイルの展開、大量ファイルの一括処理、自動デプロイといった用途で有利になります。ファイルの出し入れだけならFTPやファイルマネージャで十分です。
設定は①キーペアの作成 → ②サーバーパネルでSSHを有効化 → ③公開鍵を登録 → ④接続という順序です。ポート番号が標準の22番ではない点と、秘密鍵の扱いの2つが最初の注意点になります。
共用サーバーのためroot権限は使えず、サーバー全体の設定変更やDockerの運用はできません。そうした要件がある場合はVPSが選択肢になります。
サーバーパネルの操作全般はサーバーパネルの使い方、ファイル操作の基本はFTPの記事、管理画面の全体像は使い方ピラーをご覧ください。