Quando você faz isso com seu próprio usuário, você está usando as chaves SSH em seu próprio diretório $HOME/.ssh/
. Quando você estiver fazendo isso como root usando sudo
, ssh
procurará no diretório base do diretório .ssh
- e suas chaves não estão lá.
Aqui estão quatro maneiras de corrigir isso - qualquer uma delas deve funcionar:
- Como root, crie novas chaves ssh para e adicione a parte pública ao
authorized_keys
para seu usuário no servidor remoto - Copie suas próprias chaves SSH para o diretório
.ssh
do root. (Certifique-se de não sobrescrever quaisquer chaves existentes!) - Conceda ao seu próprio usuário acesso de gravação ao diretório de destino. Considere as implicações de segurança antes de escolher este método!
-
Como Chris Down diz, use suas chaves SSH existentes usando o comando
$ sudo rsync -aqve 'ssh -i ~user/.ssh/id_rsa' \ ${user}@${remote_host}:/etc/bind /etc/bind