acesso passphraseless ao rsync com ssh através do cron falha

3

Eu configurei as chaves ssh sem uma frase secreta (Ubuntu) e as copiei para o meu servidor remoto (Centos6). Eu posso entrar com ssh sem uma senha com sucesso sob o meu nome de usuário.

Quando executo o seguinte script em um terminal sob o meu nome de usuário (não raiz), ele funciona. Quando eu executo através do cron sob o meu nome de usuário, ele falha com a resposta:

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

Aqui está o script:

#!/bin/bash
export PATH=/home/<username>/git/kodi-playercorefactory/bash-scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
rsync -rvzO  -e 'ssh -p 6135 -i /home/<username>/.ssh/id_rsa.pub' <username>@xx.xxx.xx.xx:<filename> <filename>

Qualquer ajuda será muito apreciada

    
por user1142052 28.07.2016 / 22:25

1 resposta

3

A opção -i de ssh deve inserir o nome do arquivo que contém a chave privada, e não a chave pública. Mas você presumivelmente deu o nome do arquivo contendo a chave pública, dado pelo nome /home/<username>/.ssh/id_rsa.pub .

Supondo que a chave privada esteja em /home/<username>/.ssh/id_rsa , o seguinte deve funcionar:

rsync -rvzO  -e 'ssh -p 6135 -i /home/<username>/.ssh/id_rsa' <username>@xx.xxx.xx.xx:<filename> <filename>
    
por 28.07.2016 / 23:14

Tags