SSH でサーバに接続しようとしたときに タイムアウト することがあります。
これは「サーバが応答していない」ことを意味し、クライアントからのリクエストが届いていないか、届いても応答が返ってこない状況です。
目次
主な原因と解決方法
1. サーバ側のポート制限
原因
- ファイアウォール (firewalld / iptables) が 22 番ポートをブロックしている
- クラウド環境 (AWS, GCP, Azure など) のセキュリティグループで 22 番ポートが閉じている
解決方法
- サーバに別経路でログイン(クラウドならコンソール、オンプレなら直接ログイン)
- SSH が有効になっているか確認
systemctl status sshd systemctl enable sshd --now
→ inactive なら起動する - firewalld の場合
firewall-cmd --add-service=ssh --permanent firewall-cmd --reload
→ SSH (22 番ポート) を許可 - iptables の場合
iptables -A INPUT -p tcp --dport 22 -j ACCEPT service iptables save systemctl restart iptables
- クラウド環境の場合
- AWS: EC2 セキュリティグループで「TCP 22」を 0.0.0.0/0 または接続元 IP に対して許可
- GCP: VPC ファイアウォールルールで 22 番ポートを解放
- Azure: NSG (ネットワークセキュリティグループ) で 22 番ポートを開放
2. VPN / Proxy 経由の問題
原因
- 会社や学校のネットワーク経由だと、SSH (22 番ポート) がブロックされていることがある
- Proxy サーバを経由すると接続できない場合がある
解決方法
- 自宅やスマホのテザリングなど、別ネットワークから接続できるか確認
- 接続できるなら、VPN や社内ネットワークの制限が原因
- 管理者に問い合わせて、SSH のポートを開放してもらう
- どうしても制限を回避できない場合は、サーバ側で ポートを変更 する
# /etc/ssh/sshd_config を編集 Port 2222 systemctl restart sshd
→ 以後はssh -p 2222 user@host
で接続
3. ネットワーク到達性の問題
原因
- サーバ自体が停止している
- ネットワーク経路上でルーティングが失敗している
解決方法
- サーバが稼働しているか確認(クラウドの管理画面 / 物理サーバの状態確認)
- ネットワーク疎通確認
ping サーバIP nc -vz サーバIP 22
- ping で応答なし → サーバがダウン or ICMP 無効化
- nc で接続不可 → ネットワークかファイアウォールが原因
- ルーティングの確認
traceroute サーバIP
→ 途中で止まっていれば、経路上の問題
まとめ
SSH のタイムアウトは、
- サーバ側のポート制限(firewalld / セキュリティグループ)
- VPN / Proxy 経由での制限
- サーバ停止やネットワーク不達
といった原因がほとんどです。
解決の流れとしては、
- サーバが稼働しているか確認
ping
/nc
で疎通確認- サーバ側の firewall / セキュリティ設定を修正
- VPN / Proxy 経由の制限を調べる
という順番で調査すればスムーズです。
よくあるエラーと解決方法まとめ
あわせて読みたい


【完全版】SSHエラー大全|接続できない原因と解決方法まとめ
SSH(Secure Shell)はLinuxサーバー管理に欠かせないリモート接続の手段ですが、実際の運用では「接続できない」「認証に失敗する」「タイムアウトする」など、さまざ…