SSH 트래픽을 전달하는 대신 리디렉션하는 것이 가능합니까? 어떻게 해야 합니까?

SSH 트래픽을 전달하는 대신 리디렉션하는 것이 가능합니까? 어떻게 해야 합니까?

여기에 이미지 설명을 입력하세요.

터널을 생성하여 서버 A에서 서버 B로 SSH를 전달할 수 있다는 것을 알고 있습니다.

제가 요구하는 것은 위 패턴의 빨간색에 대한 대안입니다. 이 시나리오가 가능합니까?

  1. SSH를 통해 서버 A에 연결
  2. 서버 A는 클라이언트에게 서버 B로 이동하라고 지시합니다.
  3. 서버 B는 SSH를 통해 클라이언트와 직접 통신합니다.

따라서 기본적으로 클라이언트-서버를 서로 소개한 후 통신을 종료하는 프록시입니다.

방화벽 리디렉션을 사용하면 많은 사용자 정의 기능이 제공되지 않는 것 같습니다.

내가 궁극적으로 찾고 있는 것은 클라이언트에게 투명한 지리적 위치를 기반으로 SSH를 통해 git 미러에 액세스하는 방법입니다.

고급 장면 장면

  1. 서버 A에서 서버 B에 더 가까운 클라이언트를 가져오는 경우 B로 리디렉션됩니다.
  2. 푸시하는 동안 클라이언트는 서버 A에 남아 있습니다.

답변1

불행하게도 SSH에는 이를 수행할 수 있는 공개 플래그가 없습니다. GIT에 대한 일부 사용자 정의 코드를 작성해야 합니다. (즉, 서버 A의 핑 시간이 서버 B보다 짧은 경우 A를 사용하고 그 반대의 경우도 마찬가지입니다.)

답변2

다음과 같은 패키지를 생각해 볼 수 있습니다.

  • 서버 또는 git 전송 초기화 스크립트를 보유하는 마스터 서버
  • 클라이언트에서 마스터 서버(또는 모든 서버)에서 스크립트를 실행하여 대상 서버를 가져오도록 Git 별칭을 정의합니다.

리디렉션만 필요한 경우 pull별칭이 필요합니다. 그러나 리디렉션을 원할 수도 있습니다 fetch(더 많은 명령이 아니라면 저는 Git에 능숙하지 않습니다).

관련 정보