エラーメッセージ

Macで「ssh: connect to host port 22: Operation timed out」と表示される

sshがポート22に接続要求を送りましたが、応答がありませんでした。Macではシステムのエラーテキストが「Operation timed out」になります。Linuxでは「Connection timed out」です。

対象:macOSに付属のOpenSSH、現在のすべてのバージョン。macOS 27.2のOpenSSH 10.5で表示を確認しています。確認日:2026年10月29日

症状

  • ターミナルにssh: connect to host github.com port 22: Operation timed outと表示される。
  • Gitには続けてfatal: Could not read from remote repository.と表示されます。
  • 自宅のネットワークなど、別のネットワークではSSHが使えます。

考えられる原因

  • ネットワークがポート22をブロックしている。会社、学校、ホテル、公共のネットワークはSSHをブロックしていることがよくあります。GitHubも、ファイアウォールがSSH接続を拒否することがあると説明しています。
  • IPv6の経路が壊れている。MacはまずIPv6を試しますが、IPv6が機能していません。
  • VPNまたはプロキシ。SSHを通さないVPNを経由して通信しています。
  • サーバが停止しているか、フィルタされている。サーバがポート22で応答しません。

確認方法

  1. TCPポートだけを、タイムアウト5秒でテストします。

    nc -vz -G 5 github.com 22
  2. IPv4のみで試します。

    ssh -4 -T git@github.com
  3. GitHubの場合は、ポート443でSSHをテストします。

    ssh -T -p 443 git@ssh.github.com
  4. 詳細を表示して接続します。最後の数行で、どこで止まっているかがわかります。

    ssh -vT git@github.com

解決方法

  1. ポート443でつながるなら、GitHubにはそれを使います。~/.ssh/configに次のブロックを追加します。

    Host github.com
        Hostname ssh.github.com
        Port 443
        User git
  2. IPv4でしかつながらない場合は、~/.ssh/configのそのホストのブロックにAddressFamily inetを追加します。

  3. テストとして、代わりにリポジトリのHTTPS URLを使います。

  4. 自分のサーバの場合は、ネットワーク管理者にそのSSHポートを許可してもらいます。

Kilobatを使う場合

  1. Kilobatの接続ドクターは、ネットワーク、プロキシ、DNS、ルール、IPv4、IPv6、TLS、サーバと、ホストへの接続を層ごとにテストし、失敗した層を示します。

    kilobat why github.com
  2. これらのKilobatのチェックは無料です。AIエージェントはMCPを通じてdiagnose_connectionとdiagnose_networkで実行します。1つのサイトやAPIに接続できない原因を見つけるを参照してください。

よくある質問

Macで「Connection timed out」ではなく「Operation timed out」と表示されるのはなぜですか?

sshはエラーに対応するシステムのテキストを表示します。macOSでは、ETIMEDOUTのテキストが「Operation timed out」です。

出典

出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」でman <name>を実行すると開けます。