bash 스크립트의 sftp를 통해 원격 서버에서 내 서버로 파일 전송

bash 스크립트의 sftp를 통해 원격 서버에서 내 서버로 파일 전송

bash 스크립트(별도의 명령 아님)에서 sftp/ftp를 통해 원격 서버에서 내 서버로 대용량 파일(1.3G)을 전송하고 싶습니다.

예: 내 서버 IP는 10.10.10.1이고 원격 서버는 10.10.10.2입니다. sftp root/123456(사용자+비밀번호)을 사용하여 원격 서버에 연결합니다.

자세한 내용은 알려주시기 바랍니다.

답변1

sftp명령은 표준 입력 또는 "배치 파일"에서 읽을 수 있습니다.

예를 들어, 원격 호스트에서 파일을 가져오려면 다음 get명령을 사용할 수 있습니다.

echo 'get /path/to/file' | sftp [email protected]

또는 여기 문서를 사용하여 명령을 다음에 전달할 수 있습니다 sftp.

sftp [email protected] <<'END'
get /path/to/file
END

또는 다음 명령줄 옵션을 사용하여 get참조되는 파일에서 동일한 명령을 사용할 수 있습니다.-bsftp

sftp -b somefile [email protected]

로컬 시스템으로 전송하는 파일은 현재 디렉토리에 배치됩니다((으 )로 보내는 명령에서 "local"을 사용하여 lcd변경 하지 않는 한).cdsftp

비밀번호를 제공하지 않고 연결하려면 ""의 지침에 따라 공개 및 비공개 SSH 키를 정렬하세요.스크립트가 자동으로 비밀번호를 가져오도록 하려면 어떻게 해야 합니까?”. 원격 시스템에서는 루트 사용자에 대해 SSH 액세스가 비활성화되어 있을 가능성이 높습니다(이는 SSH 서버를 구성하는 합리적인 방법입니다).

관련 정보