トラブルシューティング

SSH「Connection timed out」:原因と対処法

Timed out は、あなたのパケットがまったく応答を得られなかったことを意味します ── refused とは異なります。5 つの原因:外部からのプライベート IP(モバイルでの最多ケース)、IP の誤り/変更、ホストのダウン、ファイアウォールの DROP、ネットワークによるポート 22 の遮断 ── とその対処法。

CC Chen Chen· 創業者·2026年6月24日·5 分で読めます

「Connection timed out」の意味

タイムアウトとは、あなたのパケットがまったく応答を得られなかったことを意味します ── どこかで破棄されたか、何も存在しないアドレスに送られたかです。これが Connection refused(能動的な「ここでは何も待ち受けていない」という応答)との決定的な違いです。refused はマシンに到達できることを証明しますが、timed out は何にも到達できないことを証明します。原因はすべて「あなたの通信がそのマシンに届かない」のバリエーションです:IP の誤り、ホストのダウン、ファイアウォールによる無言の破棄、あるいは ── モバイルでの最多ケース ── ネットワークの外からプライベートアドレスに接続しようとすること。

原因、可能性の高い順

#原因典型的な状況
1外部からプライベート IP へ自宅 Wi-Fi では繋がるが、モバイル回線でタイムアウト
2IP が違う / 変わったDHCP がマシンに新しいアドレスを割り当てた
3ホストがダウン / スリープノート PC を閉じた、Pi が電源を失った
4ファイアウォールが DROP 設定SSH ルールのないクラウドのセキュリティグループ
5ネットワークがポートを塞いでいる22 のアウトバウンドを塞ぐ社内/ホテルのネットワーク

1 ── 定番:「自宅では繋がるが、外ではタイムアウト」

192.168.x.x10.x.x.xraspberrypi.local のようなアドレスは、あなたの自宅ネットワークの内側にしか存在しません。モバイル回線やその他のネットワークからは、これらに送られたパケットはどこにも行き場がなく ── 確実にタイムアウトします。きれいな解決策はポートフォワーディング(SSH をインターネットに晒すこと)ではなく、メッシュ VPN です:マシンとスマホの両方を Tailscale に入れ、どこからでもその安定したプライベート 100.x アドレスに接続します。TermAI は Tailscale を内蔵しているので、スマホ側に追加アプリは不要です。

スマホから Tailscale 経由でルーティングされた SSH 接続が正常に確立される様子
最多のタイムアウト原因に対する解決策:Tailscale 経由なら、マシンは自宅 Wi-Fi でもモバイル回線でもどこでも機能する 1 つの安定したアドレスを持つ ── ポートフォワーディング不要。

2 ── IP とホストが起動しているか確認する

同じネットワーク上でそのアドレスに ping します。応答がない場合、たいていは IP の誤り/変更か、電源が切れたマシンです ── ルーターのデバイス一覧を確認するか、マシン上で hostname -I を実行します。スリープ設定にも注意:蓋を閉じて「スリープを防ぐ」がオフの Mac は応答しません。電源が不安定な Pi は静かに落ちているかもしれません。

3 ── 拒否ではなく破棄するファイアウォール

クラウドプロバイダーのセキュリティグループは、許可されていない通信を破棄します。これは(拒否ではなく)タイムアウトのように見えます。VPS が 22 でタイムアウトする場合、まず何よりプロバイダーのダッシュボードのファイアウォールルールを確認してください。マシン自体でも sudo ufw status ── SSH 許可ルールのない DROP ポリシーは同じ挙動になります。

4 ── 接続中のネットワークが塞いでいる

一部の社内、学校、ホテルのネットワークはアウトバウンドのポート 22 を塞いでいます。モバイル回線に切り替えてテストします:急に繋がるなら、ネットワークが問題でした。長期的な選択肢:自分が管理するサーバーで SSH を 443 で動かすか、あるいは ── よりきれいに ── ポートを開けずにこれらのネットワークを通り抜ける Tailscale です。

60 秒の診断

ping HOST              # any reply? host exists and is reachable
nc -vz HOST 22         # port answers? ("succeeded" / "refused" / hangs = dropped)
# hangs on every port → routing/firewall; refused on 22 → see the refused guide

スマホからは、そのネットワーク上であなたが到達できる任意のマシンからこれらを実行します ── または TermAI のアシスタントに正確なプローブコマンドを尋ね、そのマシンで実行してもらいます。

よくある質問

なぜ SSH は自宅では使えてモバイルデータではタイムアウトするのですか?
あなたは自宅ネットワークの外には存在しないプライベート LAN アドレスに接続しています。Tailscale(TermAI に内蔵)を使って、マシンにどこからでも到達できる安定したアドレスを与えてください。

timed out と refused の違いは何ですか?
Timed out = まったく応答がない(到達不能、破棄、またはアドレスの誤り)。Refused = マシンは応答したが、そのポートでは何も待ち受けていない。

なぜ私の VPS はポート 22 でタイムアウトするのですか?
多くの場合、プロバイダーのセキュリティグループ/クラウドファイアウォールに SSH ルールがありません ── その通信は OS が見る前に無言で破棄されます。

クイックファクト

  • 意味:パケットが応答を得られなかった ── 到達不能なホスト、破棄された通信、またはアドレスの誤り
  • モバイルの最多原因:外部からプライベート LAN IP へ → ポートフォワーディングではなく Tailscale を使う
  • クラウドの原因:セキュリティグループの DROP(プロバイダーのダッシュボードを確認)
  • 診断:ping + nc -vz host 22 ── ハング=破棄、refused=refused のガイド参照
Try TermAI

Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

Was this useful? ← Back to blog