Você precisa configurar uma chave pública / privada. Como posso automatizar uma transferência de SFTP entre dois servidores?
Eu preciso executar a automação de SFTP (para me livrar do prompt de senha). Como posso fazer isso?
Você precisa configurar uma chave pública / privada. Como posso automatizar uma transferência de SFTP entre dois servidores?
Minha sugestão é usar o SSH authorized_keys. Você precisará criar uma chave no lado do cliente (usando ssh-keygen) e, em seguida, copiar a chave pública para o lado de destino.
client-machine% ssh-keygen -t rsa
client-machine% scp ~/.ssh/id_rsa.pub user@target-machine:~/.ssh/authorized_keys2
Observe que, se você quiser acessar o computador de destino de dois ou mais "clientes", não será possível copiar o id_rsa.pub para authorized_keys2 diretamente. Você precisará abrir o authorized_keys2 e colar o id_rsa.pub de cada máquina cliente nele (ou usar a linha abaixo para anexar o conteúdo)
client-machine% cat ~/.ssh/id_rsa.pub | ssh user@target-machine \
'cat >> .ssh/authorized_keys'
Agora você pode usar ssh / scp sem informações de usuário / senha:
client-machine% ssh user@target-machine
client-machine% scp file user@target-machine:~/file
Dê uma olhada no pacote de automação do VisualCron. Foi construído em automação para SFTP e SSH, bem como FTP normal. link
Se a segurança não é uma preocupação, a senha pode estar em texto claro no seu script. Por exemplo. no Microsoft Windows usando pscp do pacote PuTTY .
Exemplo:
"d:\putty0.58\pscp" -pw MyNotSoSecretPassWord u:\outGoing\someFileToTransfer.7z [email protected]:/srv/www/htdocs/1/MSQuantDynamics/someFileToTransfer.7z
Senha: MyNotSoSecretPassWord. Nome de usuário: kingOfTheHill. Anfitrião: www.pil.sdu.dk.
O servidor sftp no nosso caso é executado em um servidor baseado em Linux.
Tags sftp automation