Como posso copiar arquivos de um servidor para outro usando scp ou sftp em shell script?

Como posso copiar arquivos de um servidor para outro usando scp ou sftp em shell script?

Atualmente estou criando um script onde desejo copiar arquivos de um servidor para outro usando scpou sftp; o que me confunde é a autenticação.

Se eu usar scpentão como vou dar a senha?

Responder1

Para esse tipo de uso automatizado, você não deveria usar autenticação por senha, mas sim autenticação baseada em chave. Com base em chave, a conexão acontecerá sem a necessidade de solicitação de senha.

Você precisa gerar um par de chaves no lado em que está usando o cliente SSH e, em seguida, copiar sua chave pública para o servidor SSH. Você encontrará inúmeras páginas sobre como fazer isso acontecer, mas aqui está uma:

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

Responder2

Use chaves ssh para mais segurança

Ou você pode instalar o sshpass e fazer algo como:

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

informação relacionada