SSH-tunnel을 사용하여 클러스터에서 wget 사용

SSH-tunnel을 사용하여 클러스터에서 wget 사용

일반적으로 다음을 사용하여 한 컴퓨터에서 다른 컴퓨터로 복사 파일을 보호할 수 있습니다.

> scp [email protected] ssh [email protected]:/home/user/my_files/* .

이는 대규모 데이터 세트의 경우 매우 느립니다.

내가 사용하고 있는 컴퓨터에는 wget으로 액세스할 수 있는 매우 빠른 링크가 있다는 말을 들었습니다. 대신 wget을 사용하여 동일한 파일 전송을 어떻게 수행합니까?

답변1

netcat이 두 시스템 사이에 빠르고 안전하며 안정적인 네트워크 링크가 있는 경우 다음과 같이 및 의 조합을 사용할 수 있습니다 tar.

대상 머신에서 다음을 실행합니다.

nc -l 10000 | tar -C /destination/directory -xzf -

원본 머신에서 다음을 실행합니다.

tar -cz /source/directory | nc dst-machine-ip-address 10000

암호화가 사용되지 않으므로 트래픽을 스니퍼링할 수 있으며 어떤 이유로든 연결이 끊어지면 처음부터 다시 시작해야 합니다.

개인적으로 나는 계속해서 rsync.

답변2

성능scp두 가지 요인으로 인해 발생할 수 있습니다.

  • 느린 프로세서에는 너무 많은 암호화 비용이 발생할 수 있습니다.
  • 단일 파일을 요청하는 데 필요한 왕복 횟수입니다.

작은 파일 수가 많은 경우 두 번째입니다. 내 첫 번째 아이디어는 다음을 사용하여 조언하는 것이 었습니다.SFTP, 원격 호스트에서 다른 프로그램을 사용하기 때문입니다. 그러나 테스트 후에는 비슷한 성능을 제공합니다.

효과적인 해결책은 클라이언트와 서버 모두에 설치되어 수천 개의 데이터 스트림 대신 단 하나의 데이터 스트림만 보내는 프로그램을 사용하는 것입니다.SSH채널):

관련 정보