세 번째 컴퓨터에서 시작하여 한 서버에서 다른 서버로 파일 전송

세 번째 컴퓨터에서 시작하여 한 서버에서 다른 서버로 파일 전송

다음 구성으로 사이트 간 전송을 시도하고 있습니다. 전송을 시작하려는 이전 서버(서버 A), 새 서버(서버 B) 및 내 워크스테이션(wks)이 있습니다.

SSH 키 교환은 wks와 서버 A/B 간에 이루어졌습니다.

서버 A와 서버 B에는 키가 교환되지 않습니다.

내 워크스테이션에서 다음 명령을 시도했습니다.

scp -r root@server-A:/path/to/source/ root@server-B:/destination/path

하지만 작동하지 않습니다. 내가 아는 한, 서버 A는 서버 B에 연결을 시도하지만 키 교환이 완료되지 않아 실패합니다.

이 특정 구성에 대해 파일 전송을 작동시키는 방법을 알고 계십니까?

답변1

서버 A와 서버 B 간의 직접 연결을 사용하여 파일을 전송하는 것이 선호되는 방법입니다. 이것이 scp하려는 일입니다. 관련 부분은man 1 scp:

-3
두 원격 호스트 간의 복사본은 로컬 호스트를 통해 전송됩니다. 이 옵션이 없으면 데이터는 두 원격 호스트 간에 직접 복사됩니다. 이 옵션은 진행률 표시기를 비활성화합니다.

-3"서버 A가 서버 B에 연결을 시도합니다"라는 옵션이 없다는 것이 맞습니다 . 내 테스트에 따르면 서버 B가 비밀번호 기반 인증을 허용하더라도 (비밀번호를 묻는 동안) tty와 상호 작용하는 것이 문제가 될 가능성이 가장 높습니다. 그러한 경우이 댓글유용할 것 같습니다:

ssh서버 A로, scp서버 A에서 시작합니다(하나의 명령). 파일을 두 번 복사하는 것을 방지합니다.

ssh서버 A에 명시적으로 들어간 후에는 scp서버 B의 비밀번호를 묻는 동안 tty와 상호 작용하는 데 문제가 없어야 합니다. 또는 ssh서버 B에 들어가서 호출 할 수도 scp있습니다.

불가능한 경우(키 필요, 비밀번호 허용 안 됨) scp -3워크스테이션에서 사용하세요. 분명히 이는 로컬 시스템을 일종의 프록시로 사용하므로 데이터가 네트워크 연결을 따라 위아래로 흐릅니다.

그러나 모든 scp구현이 지원되는 것은 아닙니다 -3.

관련 정보