rsync problema de senha

-2

Eu tenho um script python. Nisso, estou usando rsync para transferência de dados entre dois sistemas. Durante a execução, ele pede senha para a transferência de dados. Para criar uma execução sem senha pelo comando abaixo.

ssh-keygen -t dsa 
ssh-copy-id -i $HOME/.ssh/id_dsa.pub [email protected]

Agora funciona bem. Ao executar meu script python, os dados podem ser transferidos sem pedir senha. Mas o problema é que eu crio um trabalho de crontab e executo meu script a cada reinicialização, o que significa que toda vez que o sistema está ligado, o código será executado automaticamente.

Nesta situação, durante a reinicialização, meu script começa a ser executado. Mas pediu a senha do sistema de destino para transferência de dados (abra uma pequena caixa de diálogo em nome de openssh ).

O que fazer durante a reinicialização do sistema não é suposto perguntar senha.

Nota: se eu precisar executar meu script manualmente, ele não poderá perguntar a senha. Os dados podem ser transferidos para o sistema de destino perfeitamente.

Se você sabe, por favor, me ensine. Estou esperando.

    
por Viswa 04.08.2012 / 14:21

1 resposta

3

O que eu acho é que sua chave ssh foi gerada para sua conta de usuário regular (armazenada em /home/user/.ssh/id_dsa ).

No entanto, o cron de reinicialização é provavelmente executado pelo usuário root que procura a chave ssh como /root/.ssh/id_dsa

Soluções possíveis:

  • Coloque seu cron no crontab do usuário com crontab -e , para que o rsync / ssh seja executado pelo seu usuário e use a chave ssh do seu usuário.
  • Gere uma chave ssh para o usuário raiz e adicione a chave ao servidor remoto
  • Use rsync -e "ssh -i /home/user/.ssh/id_dsa" no crontab raiz para que o root use sua chave ssh do usuário
  • Verifique cuidadosamente se suas chaves ssh não foram geradas com uma proteção de frase secreta. Se for esse o caso, você precisará digitar manualmente a frase secreta para desbloquear a chave ssh.
por Marc M 11.08.2012 / 13:38