静的 IP に変更した後、github.com に SSH 接続できない

静的 IP に変更した後、github.com に SSH 接続できない

私は長い間 github.com を使用してきましたが、ISP が自宅のインターネットを静的 IP に切り替えたため、github に SSH 接続できなくなりました。

SSH では何が起こりますか?

id_ed25519 キーが再生成されました。SSH は停止します:

$ ssh -T -F ~/.ssh/config [email protected] -vvv

OpenSSH_8.1p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/xxxx/.ssh/config
debug1: /Users/xxx/.ssh/config line 1: Applying options for *
debug1: Connecting to github.com port 22.

Wireshark では、戻りパケットがまったく受信されていないことが示されています。

TCP再送信を示すWiresharkのスクリーンキャプチャ

つまり、SSH は許可されていないのでしょうか?

たぶん!しかし、同じコマンドプロンプトから AWS EC2 インスタンスに ssh で接続することはできます。まったく問題ありません。

他に何を試しましたか?

SSH over HTTPS を使用できます。たとえば、次のようになります...

ssh -T -p 443 [email protected]

...正常に動作し、接続できます。しかし、普通のポート 22 が動作しなくなった理由を知る必要があります。

何が変わったのでしょうか?

ISP に静的 IP を割り当てるように依頼しました。ISP はこれを実行し、うまくいきました。ネットワーク上のデバイスからの接続は、ISP が割り当てたこの新しい静的 IP から行われているようです。

ssh configの内容

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

さらにボーナスとして、

$ git config --list
credential.helper=osxkeychain
user.name=xxxx
[email protected]
core.autocrlf=input

答え1

TCPトレースルートを使用する

Tero Kilkanen のアドバイスに従って、tcptraceroute をインストールしたところ、問題が解決しました。編集: tracerouteICMP プロトコルが使用され、TCP SSH パケットと同じようにルーティングされるわけではないことを知っていたため、使用していなかったことを付け加えておきます。tcptraceroute私にとっては新しいツールでしたが、非常に役立つと思います。

1). tcptracerouteをインストールする

これは Mac 上のものなので、homebrew を使用して推奨される式をインストールしました: formulae.brew.sh/formula/tcptraceroute:

$ brew install tcptraceroute

2). tcptracerouteを実行する

$ sudo tcptraceroute github.com 22

ISP で停止していることを示すトレースのスニペットを記載します。

 6  bundle-ether10.win-core10.melbourne.telstra.net (203.50.11.123)  26.865 ms  26.183 ms  27.529 ms
 7  bundle-ether2.fli-core10.adelaide.telstra.net (203.50.6.228)  34.738 ms  32.591 ms  37.021 ms
 8  bundle-ether1.fli-edge901.adelaide.telstra.net (203.50.11.155)  33.344 ms  33.840 ms  32.964 ms
 9  * * *
10  * * *
11  * * * 

3). ISPによる解決

ISP に電話する前に、アカウント設定を確認しました。デフォルトのペアレンタル コントロールを無効にすると、github.com への ssh が復元されました。

ルールは youtube.com のみをブロックしましたが、機能していませんでした。静的 IP を割り当てた後に ISP が接続を再起動したため、構成されたペアレンタル コントロール ルールが再評価された可能性があります。

github.com への https は許可され、ssh は許可されない理由 (または github.com がブロックされる理由) はわかりませんが、これで問題は解決しました。

関連情報