SSH를 사용하여 점프박스를 통해 로컬 저장소에 액세스

SSH를 사용하여 점프박스를 통해 로컬 저장소에 액세스

apt-get repo가 ​​설치된 어플라이언스가 있습니다. 일반적으로 apt-get원격 서버에서 액세스 할 수 있도록 다음 명령을 사용합니다 .

ssh user@IPofRemoteServer -R8880:127.0.0.1:8880

그러나 이를 위해서는 로컬 repo 어플라이언스가 원격 서버에 연결되어 있어야 합니다.

다음을 수행해야 합니다.

local repo ---> jumpbox ---> remote server

apt-get update따라서 로컬 저장소에서 성공적으로 실행할 수 있습니다 .

나는 성공하지 못한 채 다음을 시도했습니다.

ssh -A -t user@jumpbox -R8880:127.0.0.1:80 ssh -A -t user@remoteServer -R8880:127.0.0.1:80

그러나 이것은 작동하지 않으며 연구 결과 포트 8880이 점프박스의 80으로 이동하고 실제로 로컬 저장소로 전달되도록 변환하지 않기 때문이라고 생각합니다.

다양한 변형을 시도했지만 성공하지 못했으며 해당 원격 서버를 업데이트하려면 이 작업을 수행해야 합니다.

답변1

다음과 같은 것으로 충분하지 않습니까?

ssh -A -t user@jumpbox -R8880:remoteServer:80

점프 호스트에서 원격 서버 포트에 액세스할 수 있다는 것을 알고 있습니까?

편집하다: 이제 원격 호스트에 표시하고 사용하려는 로컬 저장소가 있다는 것을 이해합니다.

글쎄요, 일반적으로 저는 다음과 같이 사용합니다: ~/.ssh/config에서:

Host TargetServer
    Hostname remoteServer
    ProxyJump jumpbox

이제 원격 서버에 SSH로 간단히 연결할 수 있습니다.

ssh TargetServer -R8880:localhost:80

이제 대상 서버에 로그인되었습니다. tunel이 열려 있는지 확인할 수 있습니다.

netstat -lapn | grep 8880

물론 거기에서 yum 업데이트도 할 수 있어야 합니다.

편집2: 구성 파일을 사용하지 않고 명령줄에서 사용하려는 경우-제이스위치:

-J [user@] host [:port]
   Connect to the target host by first making a ssh connection to the jump host and then establishing a
   TCP forwarding to the ultimate destination from there.  Multiple jump hops may  be  specified  sepa‐
   rated by comma characters.  This is a shortcut to specify a ProxyJump configuration directive.

답변2

"원격 서버에서 apt-get (...)"을 원하고 "로컬 저장소에서 apt-get update (...) 실행"을 원한다고 말씀하셨기 때문에 귀하의 질문을 올바르게 이해했는지 잘 모르겠습니다.

여기서는 로컬이 저장소를 호스팅하고 원격이 이에 연결하기를 원한다고 가정합니다.

다음과 같은 두 명령 중 하나:

local$   ssh -R 54321:localhost:8880 user@jumpbox
jumpbox$ ssh -R 8880:localhost:54321 user@remote
remote$  apt-get ...

다음 중 하나를 선택하세요.

local$  ssh -tAR 54321:localhost:8880 user@jumpbox ssh -R 8880:localhost:54321 user@remote
remote$ apt-get ...

마지막으로 로컬에 ssh-agent가 필요하거나 ssh -A에이전트가 있는 머신에서 연결해야 합니다.

물론 /etc/apt/sources.list원격 파일에는 localhost:8880에 대한 참조가 있어야 합니다.

답변3

이 명령이 유용하다고 생각했습니다.

ssh -L LOCAL_PORT:WEBSERVER:REMOTE_PORT -J jumpuser@JUMPHOST remoteuser@REMOTEHOST

참조:https://pillpall.github.io/linux/2018/02/06/sshscp_jumphost.html

관련 정보