저는 오랫동안 github.com을 사용해왔지만 ISP가 집 인터넷을 고정 IP로 전환하도록 했고 이제 SSH를 통해 github에 연결할 수 없습니다.
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를 통해 연결할 수 있습니다. 전혀 문제가 없습니다.
내가 또 무엇을 시도했나요?
HTTPS를 통해 SSH를 사용할 수 있습니다. 예를 들어, 이...
ssh -T -p 443 [email protected]
...잘 작동하고 연결할 수 있습니다. 하지만 왜 일반 포트 22가 더 이상 작동하지 않는지 알아야 합니다.
무엇이 바뀌었나요?
ISP에 고정 IP 할당을 요청했습니다. 그들은 이것을 했습니다. 효과가 있었습니다. 내 네트워크의 장치에서 나오는 연결은 그들이 할당한 이 새로운 고정 IP에서 나오는 것 같습니다.
SSH 구성 내용
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를 설치하여 문제를 해결했습니다. 편집: traceroute
ICMP 프로토콜을 사용하고 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 * * *
삼). ISP를 통한 해결
ISP에 전화하기 전에 계정 설정을 확인했습니다. 기본 자녀 보호 기능을 비활성화하면 성공했습니다. github.com에 대한 SSH가 복원되었습니다!
규칙은 youtube.com만 차단했으며 작동하지 않았습니다. ISP가 고정 IP를 할당한 후 연결을 재부팅하면 구성된 자녀 보호 규칙이 재평가된 것으로 보입니다.
github.com에 대한 https는 허용되고 ssh는 허용되지 않는 이유(또는 github.com이 차단된 이유)를 알 수 없지만 문제가 해결되었습니다.