SSHに接続できない場合
「connection timed out」から「access denied」まで、問題の箇所を特定し、パネルのコンソール経由でアクセスを復旧する手順を段階的に説明します。
更新日 2026年8月23日
SSHへの接続が失われる状況は毎回同じに見えますが、原因は5つあり、それぞれ対処方法が異なります。まずはエラーメッセージを確認してください。それだけで原因の絞り込みができます。重要なのは、パネルの「コンソール」タブ /hosting/vds/m/<id> から常にマシンへアクセスできるという点です。これはネットワークやシステム内部の設定に依存せず動作します。
エラーの読み方
| メッセージ | どこで切断されているか |
|---|---|
Connection timed out | パケットが届いていない:マシンが停止している、フィルター、アドレスの誤り |
Connection refused | マシンは応答しているが、ポートで誰も待ち受けていない:sshdサービスが起動していない |
Permission denied (publickey) | ネットワークは正常、鍵が一致していない |
Permission denied (password) | パスワードが一致していない、またはパスワードログインが無効になっている |
Host key verification failed | マシンのフィンガープリントが変わった — 通常は再インストール後 |
詳細を確認すると役立ちます。ssh -vvv root@YOUR_ADDRESS を実行すると、どの段階で止まっているかがわかります。
タイムアウト
- 「概要」タブでマシンの状態を確認してください。グラフが止まっていればマシンは動作していません。パネルから起動するか再起動してください。
- アドレスが正しいか、そもそもマシンに到達できるかを確認してください:
ping YOUR_ADDRESS。 - コンソールからログインしてフィルターを確認してください:
ss -tulpn | grep sshd
nft list ruleset | head -40 # or iptables -S
ufw status # Debian, Ubuntu
firewall-cmd --list-all # AlmaLinux, CentOS Stream
よくあるケースは、ポート22を許可せずに ufw enable を実行してしまった場合です。コンソールから1つのコマンドで修正できます:ufw allow 22/tcp。
- 失敗が続いた後にfail2banがブロックしていないか確認してください:
fail2ban-client status sshd。解除するにはfail2ban-client set sshd unbanip YOUR_IPを実行します。
Connection refused
サービスが起動していないか、別のポートで待ち受けています。
systemctl status sshd || systemctl status ssh
journalctl -u sshd -n 50 --no-pager
sshd -t # check configuration for errors
systemctl restart sshd
多くの場合 sshd -t が解決の決め手になります。/etc/ssh/sshd_config のたった1つのタイプミスで、再起動後にサービスが起動しなくなります。ポートを変更した場合は -p NUMBER を付けて接続し、フィルターでそのポートを許可するのを忘れないでください。
Permission denied
鍵のエラーが出る場合は、マシン上で確認してください:
ls -la /root/.ssh
chmod 700 /root/.ssh && chmod 600 /root/.ssh/authorized_keys
grep -E 'PermitRootLogin|PubkeyAuthentication|PasswordAuthentication' /etc/ssh/sshd_config
権限が許可される範囲より厳しすぎると、sshdは黙って拒否します。パネルの「アクセス」タブにある鍵のリストは丸ごと置き換えられます。新しい鍵を追加する際に、動作している鍵を誤って削除しないでください。リストを保存すると稼働中のマシンが再起動するため、編集はまとめて1回で行ってください。
rootパスワードを忘れた場合は、「アクセス」タブで確認してください。暗号化して保存されており、ボタンをクリックすると表示されます。システム内部でパスワードを変更した場合、パネルはそれを把握していません。コンソールからログインして passwd コマンドで変更するか、「パスワードを変更」をクリックしてください。パネルが新しいパスワードを発行し、マシンを再起動します。
Host key verification failed
システムを再インストールすると、フィンガープリントが変わります。手元の古いエントリを削除してください:
ssh-keygen -R YOUR_ADDRESS
再インストールしていない場合は、新しいフィンガープリントを盲目的に承認しないでください。コンソールから確認してください:ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub。
何も解決しなかった場合
マシンをリカバリモードで起動してください:「アクセス」タブ → 起動モード → SystemRescueディスク。マシンはイメージから起動し、rootでパスワードなしでログインでき、ディスクは /dev/sda として見えます。マウントして設定を編集してください:
mount /dev/sda1 /mnt
nano /mnt/etc/ssh/sshd_config
その後、通常の起動モードに戻してマシンを再起動してください。
SSH設定を変更する前に、2つ目のセッションを開いてそのままにしておいてください。新しい設定で締め出された場合、コンソールを立ち上げなくても古い接続から修正できます。