웹 서버(nginx)가 이 포트에서 실행 중인 경우 포트 80 또는 443에서 SSH를 사용하십시오.

웹 서버(nginx)가 이 포트에서 실행 중인 경우 포트 80 또는 443에서 SSH를 사용하십시오.

원격 Linux(Debian) 시스템이 있고 매우 제한된 네트워크에서 해당 시스템에 액세스하고 싶습니다. 실제로 열려 있는 포트는 포트 80(HTTP용)과 443(HTTPS) 두 개뿐입니다.

이 컴퓨터에는 포트 80과 443에서 실행되는 nginx 서버가 있습니다.

나는 이전에 이런 일을 해본 적이 없으며 nginx(그리고 특별히 어렵지 않은 Minecraft) 이외의 서버 소프트웨어에 대한 경험이 상당히 없습니다.

이를 쉽게 달성할 수 있는 방법이 있다면 알려주시기 바랍니다.

이 시스템의 SSH 서버는 다음과 같습니다.OpenSSH_6.0p1 Debian-4+deb7u2, OpenSSL 1.0.1e 11 Feb 2013

답변1

가지다SSLH. 클라이언트 요청 유형에 따라 연결을 재사용할 수 있습니다. 따라서 웹 브라우저가 나타나면 nginx로 전달하고, ssh 클라이언트가 연결을 시도하면 sshd로 전달합니다. 이것읽어보기.md구성 방법에 대한 자세한 설명이 제공됩니다.

답변2

restricted_net=1.2.3.0/24
iptables -t nat -A PREROUTING -s "$restricted_net" -p tcp --dport 80 \
  -j REDIRECT --to-ports 22

실행 취소

iptables -t nat -L -nv --line-numbers

추가된 규칙의 개수를 표시합니다. 체인의 첫 번째 규칙인 경우 다음을 사용하여 삭제할 수 있습니다.

iptables -t nat -D PREROUTING 1

직접 삭제할 수도 있습니다.

iptables -t nat -D PREROUTING -s "$restricted_net" -p tcp --dport 80 \
  -j REDIRECT --to-ports 22

관련 정보