2013-03-21 3 views
0

SSH를 제외하고 HTTP Host : 헤더가 수행하는 방법을 찾고 있습니다.SSH 연결에서 가상 호스트 이름을 결정하십시오 (가상 자식 호스팅에 유용합니다)

foo.example.combar.example.com이 모두 1.2.3.4으로 확인되는 것을 상상해보십시오. ssh [email protected] 대신 ssh [email protected]을 통해 로그인이 발생했음을 어떻게 알 수 있습니까?

나는 $SSH_CONNECTION을 찾았지만 호스트 이름이 아닌 클라이언트와 서버의 IP 주소 만 가지고 있습니다.

P. 내가 정말로 묻는 것은 SSH 전송을 통해 git 가상 호스팅 작업을 수행하는 방법이다. 제 의뢰인은 ssh를 직접하지는 않지만 git는 ssh를 호출합니다. 가상 git 호스팅 아마 HTTP (호스트 :) 및 자식 - 데몬 (호스트 이름이 무엇인지 알려주는 것)을 사용하여 작동하도록 만들 수 있습니다 이해합니다. SSH는 어떨까요? 그렇지 않으면 가상 호스트 환경에서 커밋을 안전하게 수행하려면 어떻게해야합니까?

그렇지 않은 경우 : 근사치가 될 수있는 불투명도가 있습니까?

답변

2

간단한 대답은 no입니다. openSSH afaik의 가상 호스트와 동일한 것은 없습니다.

질문은 실제로 foo.example.combar.example.com을 통해 로그인하는 클라이언트에게 어떤 차이를 보이고 싶습니까?

나는 그들이 사용하는 호스트를 기반으로 클라이언트에 대한 자식 저장소를 호스팅하기위한 2 개의 독립적 인 루트 디렉토리 세트를 제공하기를 원한다고 생각합니다. 이 경우 각각의 사용자에게 다른 사용자 이름을 사용하도록 요청할 수 있으므로 적절한 격리 권한을 사용하여 다른 홈 디렉토리에 액세스 할 수 있습니다. git은 SSH 프로토콜을 사용하여 서버에 파일을 저장하므로 실제로 투명해야합니다.

하나의 Xen 또는 동등한 서버에 여러 VM이있는 경우에는 this 게시물에 설명 된대로 Xen 서버의 여러 VM에 대한 SSH 게이트웨이를 설정할 수 있습니다.

0

(미래 답글) 작년에 SSH에 추가하는 것에 대해 discussion이있는 것으로 보입니다. openssh 구현에 대한 제안은 서버에서 실행되는 스크립트가 액세스중인 가상 호스트를 알 수 있도록 환경 변수를 사용하는 것이 었습니다.