쉘 스크립트에서 scp 또는 sftp를 사용하여 한 서버에서 다른 서버로 파일을 어떻게 복사할 수 있습니까?

쉘 스크립트에서 scp 또는 sftp를 사용하여 한 서버에서 다른 서버로 파일을 어떻게 복사할 수 있습니까?

scp현재 또는 중 하나를 사용하여 한 서버에서 다른 서버로 파일을 복사하려는 스크립트를 작성 중입니다 sftp. 내가 혼란스러워하는 것은 인증입니다.

사용하는 경우 scp비밀번호는 어떻게 제공하나요?

답변1

이러한 종류의 자동화된 사용을 위해서는 비밀번호 인증을 사용해서는 안 되며, 키 기반 인증을 사용해야 합니다. 키 기반을 사용하면 비밀번호를 묻지 않고도 연결이 이루어집니다.

SSH 클라이언트를 사용하는 측에서 키 쌍을 생성한 다음 공개 키를 SSH 서버에 복사해야 합니다. 이를 실현하는 방법에 대한 끝없는 페이지를 찾을 수 있지만 여기에 한 가지가 있습니다.

https://www.linode.com/docs/security/authentication/use-public-key-authentication-with-ssh/

답변2

보안 강화를 위해 SSH 키 사용

또는 sshpass를 설치하고 다음과 같이 수행할 수 있습니다.

sshpass -p "password" scp file.txt user@machine:/path

관련 정보