ajuda com o arquivo remoto find / scp

0

Eu tenho um conjunto de arquivos em um sftp remoto que eu preciso baixar em um servidor todos os dias. O sftp usa chaves ssh para autenticar, então eu criei uma chave ssh e adicionei a pasta autorizada do servidor remoto. Eu sou capaz de ssh / sftp com sucesso manualmente. Eu criei um script que primeiro faz um eval ssh-agent -s e, em seguida, ssh-add . Quando executamos manualmente, obtemos um prompt para passphrase e scp funciona bem.

eval 'ssh-agent -s';
ssh-add;
#copy from remote to local

Preciso de conselhos / melhores práticas sobre como evitar a inserção de senhas quando adiciono este crontab para executar todos os dias.

    
por TBKr 21.05.2015 / 01:19

1 resposta

1

I need advice/best practice on how I can avoid keying in passphrase when I add this crontab to run everyday.

Crie uma nova chave ssh com uma senha vazia, especialmente para essa tarefa. Salve em um arquivo, digamos, ~/.ssh/cron . Adicione sua chave pública correspondente a ~/.ssh/authorized_keys na máquina remota. Quando você executar o scp de cron(8) , faça isso com a nova chave:

scp -i ~/.ssh/cron ...

Isso é tudo o que existe, você não precisa de ssh-add .

eval 'ssh-agent -s'

Ao contrário da crença popular, esta é uma prática ruim . ssh-agent não é morto quando você sai do terminal, e fica com você para todo o sempre, inútil, mas totalmente autenticado, feliz para sempre. Você não poderá se conectar a ele, mas sempre estará lá para descobrir e usar algum trojan bacana. Você também acumulará muitas cópias ao longo do tempo.

Faça assim:

ssh-agent /bin/bash -l

Isso gera um shell e sai quando você sai do shell. Não tente fazer script, use-o somente para sessões interativas e mate-o assim que terminar.

    
por 21.05.2015 / 07:21

Tags