SSH/SFTP를 통해 게이트웨이 시스템을 통해 로컬 시스템에서 다른 시스템으로(또는 그 반대로) 파일을 전송하는 방법은 무엇입니까?

SSH/SFTP를 통해 게이트웨이 시스템을 통해 로컬 시스템에서 다른 시스템으로(또는 그 반대로) 파일을 전송하는 방법은 무엇입니까?

다음과 같은 상황이 있습니다.

(1) local machine←︎ (2) cluster gateway←︎(3) cluster machine

(1)에서 (3)으로 또는 그 반대로 파일을 전송하고 싶습니다. 그러나 (1)에서 (3)으로 직접 SSH를 통해 연결할 수 있는 방법은 없으며 (2) 내에서만 (3)에 연결할 수 있습니다. 현재는 먼저 sftp를 통해 (1)에서 (2)로 파일을 전송하고, 그 다음 (2)에서 (3)으로 파일을 전송합니다. 특히 (2)의 저장 공간이 매우 제한되어 있기 때문에 이것은 매우 번거롭습니다.

나는 그 대답이 아마도 SSH 터널링이라는 것을 알았습니다. 하지만 이것이 실제로 그렇게 하는 방법인지 확실하지 않으며, 설정 방법이나 사용 방법도 모릅니다.

저는 IT 전문가가 아니기 때문에 이러한 사항을 간파하기 어려울 때가 있습니다. 특히 ssh 및 ssh 키의 경우 조심하고 내가 무엇을 하고 있는지 확실히 알고 싶습니다.

누군가 통찰력을 가질 수 있습니까? 도와 주셔서 감사합니다!

답변1

최신 OpenSSH(8.0)를 사용하는 경우현지의,당신은 그것을 사용할 수 있습니다-J(점프) 스위치:

scp -J user@intermediate /local/path/file.txt user@target:/remote/path/

이전 버전(7.3 이상)의 경우 다음을 사용할 수 있습니다.ProxyJump지시하다:

scp -o ProxyJump=user@intermediate /local/path/file.txt user@target:/remote/path

포트 전달 과 같은 다른 옵션이 있으며 ProxyCommand이전 버전의 OpenSSH에서도 사용할 수 있습니다. 이러한 내용은 다음과 같습니다.OpenSSH는 멀티홉 로그인을 지원합니까?


다운로드하려면 다음을 참조하세요.SSH만 가능한 호스트에서 다른 호스트로 파일을 다운로드하려면 어떻게 해야 합니까?

관련 정보