하나의 IP, 여러 게스트, 동일한 포트 22

하나의 IP, 여러 게스트, 동일한 포트 22

Nginx를 사용하여 포트 80의 도메인을 올바른 가상 머신으로 리디렉션하고 있는데 이제 포트 22에서 SSH를 사용하여 이 작업을 수행할 수 있는지 궁금합니다. 포트 22를 통해 모든 SSH 트래픽을 올바른 게스트로 리디렉션하시겠습니까?

답변1

아니요, 그렇게 할 수는 없습니다. 해당 프로토콜이 지원하므로 HTTP와 함께 작동합니다.이름 기반 가상 호스팅.SSH 번호

답변2

SSH 도구를 통해 ProxyCommand이 작업을 수행 할 수 있습니다. 파일 에 다음 콘텐츠를 추가하세요 $HOME/.ssh/config. 존재하지 않는 경우 다음 내용으로 만듭니다.

Host remoteserverX
    User userint
    ProxyCommand ssh userext@externalserver nc remoteserverX %p
Host remoteserverY
    User userint
    ProxyCommand ssh userext@externalserver nc remoteserverY %p

그런 다음 다음과 같이 다른 내부 원격 서버에 연결할 수 있습니다.

$ ssh remoteserverX

-or-

$ ssh remoteserverY

이 기능과 관련하여 이는 빙산의 일각에 불과합니다. 다음 제목의 U&L Q&A를 확인하세요.중간자 서버를 통한 SSH 터널링 - 키 쌍을 사용하여 한 단계로 연결하는 방법은 무엇입니까?, 자세한 내용은.

노트:위의 방법은 nc주요 배포판의 저장소에 있어야 하는 (netcat)이라는 도구를 사용합니다.

이는 외부 시스템을 통해 내부 시스템으로 터널링하는 Nginx의 리디렉션과 완전히 동일하지는 않지만 비슷한 효과가 있습니다.

복잡한 예

  1. 하나의 Host세션, 여러 호스트.

    Host *.mydom.com *
        ProxyCommand ssh externalserver nc %h %p
    
  2. 많은 사용자를 위한 "호스트" 섹션.

    Hosts섹션을 시스템 /etc/ssh/ssh_config파일에 추가하면 상자에 로그인한 모든 사람이 사용할 수 있습니다.

관련 정보