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의 리디렉션과 완전히 동일하지는 않지만 비슷한 효과가 있습니다.
복잡한 예
하나의
Host
세션, 여러 호스트.Host *.mydom.com * ProxyCommand ssh externalserver nc %h %p
많은 사용자를 위한 "호스트" 섹션.
이
Hosts
섹션을 시스템/etc/ssh/ssh_config
파일에 추가하면 상자에 로그인한 모든 사람이 사용할 수 있습니다.