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

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

apt-get 저장소가 설치된 장치가 있습니다. 일반적으로 apt-get원격 서버에서 접근 할 수 있도록 하기 위해 다음 명령어를 사용합니다 .

ssh user@IPofRemoteServer -R8880:127.0.0.1:8880

그러나 이를 위해서는 로컬 저장소 장치가 원격 서버에 연결되어 있어야 합니다.

다음을 수행해야 합니다.

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

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

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 에이전트가 있거나 ssh -A에이전트가 있는 머신에서 SSH 에이전트에 연결해야 합니다.

물론 /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

관련 정보