Skip to content
VDS · トラブルシューティング

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 を実行すると、どの段階で止まっているかがわかります。

タイムアウト

  1. 「概要」タブでマシンの状態を確認してください。グラフが止まっていればマシンは動作していません。パネルから起動するか再起動してください。
  2. アドレスが正しいか、そもそもマシンに到達できるかを確認してください:ping YOUR_ADDRESS。
  3. コンソールからログインしてフィルターを確認してください:
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。

  1. 失敗が続いた後に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つ目のセッションを開いてそのままにしておいてください。新しい設定で締め出された場合、コンソールを立ち上げなくても古い接続から修正できます。