호스트 별칭을 원격 호스트에 전달하도록 .ssh/config를 구성하시겠습니까?

호스트 별칭을 원격 호스트에 전달하도록 .ssh/config를 구성하시겠습니까?

우리가 액세스하는 데 사용하는 하드웨어 jump hosts입니다. 이러한 호스트는 수명이 짧으며(1일 미만) 생성될 때마다 다릅니다. 로컬 파일을 구성하여 실제 하드웨어 로 .ssh/config전달 aliases하고 .aliasesjump host

다음 명령을 시도했지만 실패했습니다.

ssh <jumphost> -t bash -ci ssh <hostalias>

시도해 볼 수 있는 옵션이 있나요?

jumphost손글씨는 자주 바뀌므로 신경쓰지 마세요. 저는 단지 해당 호스트로 점프한 다음 거기에서 실제 하드웨어로 점프하는 프로세스를 자동화하는 방법을 원합니다.

답변1

당신의 .ssh/config:

Host farsidehost
    HostName acutalremotehostname.example.com
    ProxyJump bastionhost.example.com

그런 다음 실행할 수 있습니다 ssh farsidehost.

업데이트에서 알 수 있듯이 점프 호스트의 이름이 자주 변경되는 경우 명령줄에서 지정할 수 있습니다.

$ ssh -J jumphostoftheday.example.com actualremotehostname.example.com

점프 호스트의 이름을 프로그래밍 방식으로 찾는 방법이 있는 경우 이를 자동화할 수 있습니다.

$ ssh -J $( determine_jump_host ) actualremotehostname.example.com

답변2

실제 하드웨어에 대해 로컬 변수 이름을 사용하고 로컬 ssh 명령줄에서 이러한 변수를 확장하도록 합니다.

proddb=dc1r12u10.internal.dns
jumper=vm20180913.internal.dns
ssh $jumper -t bash -ci ssh $proddb

관련 정보