対象: レンタルサーバー全般(Mac・Windowsのターミナル/コマンドプロンプト)
難易度: ★★☆
所要時間: 約15分
WordPressの設定はほとんど管理画面(ブラウザ)から完結しますが、サーバーの中身を直接いじりたい時、たとえば「PHPのバージョンをコマンドで確認したい」「WP-CLIを使いたい」といった場面ではSSH接続が必要になります。「なんだか難しそう」と敬遠しがちですが、必要な情報さえ揃えば、コマンドは実は1行です。
接続前に必要な4つの情報を確認する
SSH接続には、契約しているレンタルサーバーの管理画面から次の4つの情報を確認しておく必要があります。
- ホスト名: 接続先サーバーのアドレス(例:
ssh.lolipop.jp) - ポート番号: 標準は22番だが、レンタルサーバーは別番号のことが多い
- ユーザー名: サーバーのアカウント名(FTPアカウントと共通のことが多い)
- 認証方法: パスワード、または秘密鍵ファイル
「SSHの標準ポートは22番」という情報だけを覚えていると、レンタルサーバーではまずハマります。たとえばロリポップは2222番を使用しています。標準の22番以外のポート番号を使うのは、セキュリティ上、不特定多数からの接続試行(ポートスキャン)を受けにくくするためです。契約中のサーバーの管理画面で、必ず指定のポート番号を確認してから接続しましょう。
ターミナルから接続する
Mac・Linuxならターミナル、Windows 10以降ならコマンドプロンプトやPowerShellに、標準でSSHコマンドが入っています。専用ソフト(Tera Termなど)をインストールしなくても、次の1行だけで接続できます。
ssh ユーザー名@ホスト名 -p ポート番号ロリポップの例なら、次のようになります。
ssh myaccount@ssh.lolipop.jp -p 2222初回接続時に出る確認メッセージについて
初めて接続するサーバーだと、次のような英文メッセージが表示されます。
The authenticity of host 'ssh.lolipop.jp' can't be established.
Are you sure you want to continue connecting (yes/no)?これは「本当にこのサーバーに接続していいか」の確認で、yesと入力すればOKです。接続情報(ホスト名・ユーザー名)を自分で確認して契約中のサーバーだと分かっていれば、身構える必要はありません。一度yesと答えると、その情報はパソコン内のknown_hostsというファイルに記録され、次回からはこの確認は出なくなります。
より安全な接続方法: 公開鍵認証
パスワードでの接続は手軽ですが、パスワードが漏れると誰でもログインできてしまいます。実務では「公開鍵認証」という、鍵ファイルを使った認証方式に切り替えるのが一般的です。
ssh-keygen -t ed25519 -C "your_email@example.com"「秘密鍵(id_ed25519)」と「公開鍵(id_ed25519.pub)」の2つのファイルが作られます。
多くのレンタルサーバーは、管理画面のSSH設定に「公開鍵を登録する」欄を用意しています(ssh-copy-idコマンドが使える環境なら、それで自動登録することもできます)。
ssh -i ~/.ssh/id_ed25519 myaccount@ssh.lolipop.jp -p 2222拡張子が.pubと付いている方が「公開鍵」で、これはサーバーに登録して人に見られても問題ないものです。一方、.pubが付いていない方が「秘密鍵」で、これは自分のパソコンの外に絶対に出してはいけません。誤ってGitHubなどに秘密鍵をアップロードしてしまう事故は実際によく起きているので、鍵ファイルをどこかにコピー・共有する時は、必ずファイル名を確認する癖をつけましょう。
毎回入力するのが面倒な時は config ファイルで省略する
ホスト名・ポート番号・ユーザー名を毎回入力するのは面倒です。~/.ssh/configというファイルに接続情報をまとめて書いておけば、短い名前だけで接続できるようになります。
Host levelup
HostName ssh.lolipop.jp
Port 2222
User myaccount
IdentityFile ~/.ssh/id_ed25519これを保存しておけば、次回からはssh levelupと打つだけで接続できます。複数のサーバーを管理している人ほど恩恵が大きい設定です。
まとめ
- 接続前に「ホスト名・ポート番号・ユーザー名・認証方法」の4つをサーバーの管理画面で確認する
- 基本コマンドは
ssh ユーザー名@ホスト名 -p ポート番号の1行だけ - ポート番号はサーバーごとに異なる(ロリポップは2222番)ので必ず確認する
- パスワードより安全な「公開鍵認証」への切り替えがおすすめ。秘密鍵は絶対に外部に出さない
~/.ssh/configに接続情報をまとめておくと、次回から短いコマンドで接続できる