좋습니다. 저는 현재 대학에서 공부하고 있으며 제 컴퓨터는 이더넷을 통해 대학 네트워크에 연결되어 있습니다. 대학 ID와 비밀번호를 사용하여 Fortinet 포털을 통해 인터넷에 연결합니다.
대학 네트워크에 Fortiguard 방화벽이 설치되어 있으며 모든 게임/프록시 사이트 및 OFC Steam도 차단합니다. 이 콘텐츠에 액세스하는 유일한 방법은 차단된 VPN을 사용하는 것입니다(무료 평가판이 있지만 대기 시간이 너무 긴 한두 가지 제외).
그래서 저는 Azure VM(github 학생 개발 패키지를 통해 $100 크레딧으로 무료)에 OpenVPN 서버를 설정하기로 결정했고, 여기에 연결하려면 SSH를 통해 연결해야 했습니다.
기본 포트 22를 사용하여 대학 네트워크에서 SSH를 시도하면 ssh username@public_ip_of_vm
성공하지 못합니다(연결 시간 초과 오류) 그러나 위에서 언급한 VPN을 사용하면 Azure에 SSH를 통해 연결할 수 있습니다(이는 Azure에서 VPN을 설정하려는 목적을 완전히 무너뜨립니다). 그런 다음 몇 가지 조사를 통해 time nmap -p 22 portquiz.net
포트 22가 다음 명령을 사용하여 포트가 차단되었는지 확인할 수 있음을 발견했습니다.거르는그래서 어쨌든 포트 22를 통해 ssh를 할 수는 없을 것 같습니다. 그런 다음 위 명령을 사용하여 포트 443을 다시 확인했을 때 다음과 같이 말했습니다.열려 있는포트 443을 통해 SSH를 통해 연결할 수 있을 것이라고 생각했습니다.
그래서 내가 편집했어sshd_config포트 443에서 수신 대기하도록 가상 머신에 파일을 생성하고 이에 따라 네트워크 정책에서 인바운드 규칙을 설정했습니다. 하지만 다시 포트 443을 통해 SSH를 시도하면 ssh username@public_ip_of_vm -p 443
동일한 결과가 나타납니다 .연결 시간이 초과되었습니다실수.
그렇다면 대학 네트워크에서 포트 443 또는 포트 80을 통해 Azure VM에 SSH로 연결할 수 없는 이유를 이해할 수 없습니다.
또한, 대학의 라우터에 접근할 수 없기 때문에 포트포워딩은 선택사항이 아닙니다.
답변1
그렇다면 대학 네트워크에서 포트 443 또는 포트 80을 통해 Azure VM에 SSH로 연결할 수 없는 이유를 이해할 수 없습니다.
HTTP(S)는 작동하지만 SSH는 작동하지 않는 경우(다른 모든 조건이 동일) 포트 번호 및 기타 하위 수준 세부 정보뿐만 아니라 사용된 실제 프로토콜을 감지할 수 있는 애플리케이션 수준 방화벽이 있는 것입니다. 또는 모든 HTTP 연결을 캡처하는 HTTP 프록시도 있습니다. (HTTPS 하이재킹은 자신의 컴퓨터인 경우 다릅니다. 이렇게 하려면 시스템에 자체 루트 인증서를 설치할 수 있어야 합니다.)