Como eu automatizo o SFTP para me livrar do prompt de senha?

1

Eu preciso executar a automação de SFTP (para me livrar do prompt de senha). Como posso fazer isso?

    
por Tom Wijsman 30.07.2009 / 19:24

4 respostas

2

Você precisa configurar uma chave pública / privada. Como posso automatizar uma transferência de SFTP entre dois servidores?

    
por 30.07.2009 / 19:28
1

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
    
por 30.07.2009 / 19:29
1

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

    
por 20.08.2009 / 16:56
0

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.

    
por 31.07.2009 / 01:00