5.7. SSH 건너뛰기 호스트를 사용하여 원격 서버에 연결

건너뛰기 호스트라고도 하는 중간 서버를 통해 로컬 시스템을 원격 서버에 연결하려면 다음 절차를 사용하십시오.

사전 요구 사항

  • 건너뛰기 호스트는 로컬 시스템의 SSH 연결을 허용합니다.
  • 원격 서버는 건너뛰기 호스트에서만 SSH 연결을 허용합니다.

절차

  1. 로컬 시스템에서 ~/.ssh/config 파일을 편집하여 건너뛰기를 정의합니다. 예를 들면 다음과 같습니다.

    Host jump-server1
      HostName jump1.example.com
    • Host 매개 변수는 ssh 명령에서 사용할 수 있는 호스트의 이름 또는 별칭을 정의합니다. 이 값은 실제 호스트 이름과 일치할 수 있지만 임의의 문자열일 수도 있습니다.
    • HostName 매개 변수는 건너뛰기 호스트의 실제 호스트 이름 또는 IP 주소를 설정합니다.
  2. ProxyJump 지시문을 사용하여 원격 서버 건너뛰기를 로컬 시스템의 ~/.ssh/config 파일에 추가합니다. 예를 들면 다음과 같습니다.

    Host remote-server
      HostName remote1.example.com
      ProxyJump jump-server1
  3. 로컬 시스템을 사용하여 이동 서버를 통해 원격 서버에 연결합니다.

    $ ssh remote-server

    이전 명령은 구성 단계 1과 2를 생략하면 ssh -J jump-server1 remote-server 명령과 동일합니다.

참고

더 많은 건너뛰기 서버를 지정할 수 있으며 전체 호스트 이름을 제공할 때 구성 파일에 호스트 정의 추가를 건너뛸 수도 있습니다. 예를 들면 다음과 같습니다.

$ ssh -J jump1.example.com,jump2.example.com,jump3.example.com remote1.example.com

건너뛰기 서버의 사용자 이름 또는 SSH 포트가 원격 서버의 이름과 포트와 다른 경우 이전 명령에서 호스트 이름 전용 표기법을 변경합니다. 예를 들면 다음과 같습니다.

$ ssh -J johndoe@jump1.example.com:75,johndoe@jump2.example.com:75,johndoe@jump3.example.com:75 joesec@remote1.example.com:220

추가 리소스

  • ssh_config(5)ssh(1) 도움말 페이지