Conectado como bryan @ localserver, estou tentando executar um backup usando o rsync em um host remoto bryan @ remoteserver.
Eu preciso da conexão rsync para elevar os privilégios no host remoto usando --rsync-path='sudo rsync'
, mas estou tendo problemas, então decidi simplificar as coisas e tentar primeiro fazer o seguinte:
bryan@localserver # ssh bryan@remoteserver 'sudo /usr/bin/whoami'
Uma vez, eu soltei isso, eu deveria ser capaz de fazer o rsync funcionar.
O que eu fiz até agora:
Eu tenho o ssh configurado para que bryan @ localserver possa ssh para bryan @ remoteserver usando a chave em vez de uma senha.
bryan@localserver # ssh bryan@remoteserver
bryan@remoteserver #
Eu também configurei bryan @ remoteserver para poder executar /usr/bin/whoami
como sudo, sem uma senha no arquivo sudoers no remoteserver:
bryan ALL=(ALL) NOPASSWD: /usr/bin/whoami
Isso funciona bem:
bryan@remotehost # sudo whoami
root
Mas a partir do servidor local:
bryan@localhost # ssh bryan@remoteserver 'sudo /usr/bin/whoami'
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: 3 incorrect password attempts
Meu arquivo completo de sudoers (menos os comentários e as linhas em branco) está abaixo:
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Defaults !requiretty
root ALL=(ALL:ALL) ALL
bryan ALL=(ALL) NOPASSWD: /usr/bin/whoami
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
ssh -t
do servidor local resolve o erro 'no tty present', mas ainda solicita a senha do bryan @ remotehost.
Alguém por favor pode explicar qual é o problema?
localserver é Ubuntu 10.04 x64, remoteserver é Ubuntu 12.04 x64.