Corkscrew를 통해 원격 서버에 대한 SSH가 작동하지 않습니다.

Corkscrew를 통해 원격 서버에 대한 SSH가 작동하지 않습니다.

대학 네트워크(프록시)에서 SSH를 통해 원격 서버에 연결하려고 합니다. 그러나 SSH를 통해 호스트에 연결하려고 할 때마다 이 오류가 발생합니다.

ssh_exchange_identification: Connection closed by remote host

전체 설명은 다음과 같습니다.

주문하다:-

ssh -vvv root@serverIP -p serverPort

산출:-

OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /home/prashant/.ssh/config
debug1: /home/prashant/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec /usr/bin/corkscrew 144.16.192.213 8080  serverIP serverPort
debug1: identity file /home/prashant/.ssh/id_rsa type -1
debug1: identity file /home/prashant/.ssh/id_rsa-cert type -1
debug1: identity file /home/prashant/.ssh/id_dsa type -1
debug1: identity file /home/prashant/.ssh/id_dsa-cert type -1
debug1: identity file /home/prashant/.ssh/id_ecdsa type -1
debug1: identity file /home/prashant/.ssh/id_ecdsa-cert type -1
debug1: permanently_drop_suid: 1000
ssh_exchange_identification: Connection closed by remote host

내 구성 파일에 다음이 포함되어 있습니다.

Host *
ProxyCommand /usr/bin/corkscrew 144.16.192.213 8080  %h %p

누구든지 이 문제를 해결하도록 도와줄 수 있나요?

감사해요!

답변1

내 설명이 맞는지 완전히 확신할 수는 없지만, 그런 일이 일어나고 있다고 생각합니다.

프록시에 의해 연결이 차단되었습니다.HTTP 연결(이것은 프록시를 통해 바운스하기 위해 코르크 마개가 사용하는 방법입니다.) 이는 HTTPS 사이트를 탐색하기 위한 일반적인 구성에 필요합니다. 프록시는 연결이 암호화되어 있으므로 연결을 필터링할 수 없으며 모호해 보이는 SSL 연결을 허용할 수밖에 없습니다. (SSL과 SSH는 실제로 구별할 수 있지만 많은 프록시는 신경 쓰지 않습니다.) 그러나 거의 모든 HTTPS 사이트는 기본 포트(443)에 있으므로 프록시는 일반적으로 포트 443으로 연결을 반송합니다. "원격 호스트에 의해 연결이 닫혔습니다"는 다른 포트로 되돌아가려고 시도하는 것을 볼 때 프록시 연결이 끊어지기 때문이라고 생각합니다.

가능하다면 SSH 서버의 구성을 변경하여 포트 443에서 수신하도록 하세요. "프록시가 serverIP에 대한 연결을 열 수 없습니다: 서비스를 사용할 수 없음"은 프록시가 연결을 허용하지만 해당 포트에서 수신 대기하는 서버가 없음을 의미합니다. (SSH 프로토콜이 발생하기 시작하면 어떤 형태로든 트래픽 분석을 수행하여 사용자를 차단하지 않을 것이라는 보장은 없습니다.)

서버가 포트 443을 수신하도록 하려면 대상 시스템의 루트여야 합니다. 실행 중인 HTTPS 서버가 없으면 해당 행을 파일 Port 443에 쉽게 추가하고 프로세스( 또는 일부 명령)를 다시 시작할 수 있습니다.sshd_configsshdservice ssh restart/etc/init.d/ssh restart

클라이언트가 보낸 첫 번째 패킷만으로 요청 대상 서버를 결정하기에 충분하므로 동일한 포트에서 SSH 서버와 HTTPS 서버를 실행할 수 있습니다. 당신은 그것을 사용할 수 있습니다SSLH멀티플렉서(또한 참조이 가이드).

관련 정보