Соединение пары ключей ssh ​​работает, но rsyncd через пару ключей ssh ​​запрашивает пароль - PullRequest
0 голосов
/ 05 июля 2011

Я установил пару ключей SSH между локальным и удаленным.

ssh логин работает без пароля

user@local ~$ssh -v remote
..
debug1: Authentications that can continue: publickey..
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/user/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: Authentication succeeded (publickey).
..
debug1: Entering interactive session.
user@remote ~$

rsync через ssh работает в режиме, отличном от rsyncd (примечание одиночное :), но проблема в том, что rsyncd.conf не используется в этом режиме.

user@local ~/bin$rsync -av -e "ssh -v -l user@remote" user@remote:/dir
..
debug1: Authentications that can continue: publickey..
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/punkish/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: Authentication succeeded (publickey).
..
debug1: Entering interactive session.
debug1: Sending command: rsync --server --sender -vlogDtpre.iLs . /dir
receiving file list ... done
..
user@local ~/bin$

Сбой rsync через ssh в режиме rsyncd (примечание double: :), и запрашивается пароль.

user@local ~/bin$rsync -av -e "ssh -v -l user@remote" user@remote::module
..
debug1: Authentications that can continue: publickey..
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/punkish/.ssh/id_rsa
debug1: Authentications that can continue: publickey..
debug1: Next authentication method: keyboard-interactive
Password:

Что я делаю не так? Моя цель - запустить rsync с помощью rsyncd.conf на удаленной машине.

Ответы [ 3 ]

2 голосов
/ 06 июля 2011

Вы уверены, что флаг -l для ssh здесь? Я думаю, что это должно быть либо ssh -l user remote, либо ssh user@remote.

Я ничего не знаю о rsync и его использовании ssh, поэтому не могу точно сказать, почему он работает в одной версии, а не в другой.

1 голос
/ 15 февраля 2013

У меня была похожая проблема, и я столкнулся с одним существенным отличием в моих настройках, и оно выглядит так же, как и у вас.

В вашем ssh-соединении у вас есть ключ пользователя

debug1: Offering public key: /Users/user/.ssh/id_rsa

Но в соединении rsync это

debug1: Offering public key: /Users/punkish/.ssh/id_rsa

Вам необходимо убедиться, что файл ключа создан для пользователя, с которым вы запускаете команду rsync.

0 голосов
/ 20 марта 2013

Мне потребовались часы, чтобы наконец-то выследить, так что надеюсь, это поможет другим в будущем. Проблема действительно заключалась в том, как указал Джонатан в своем ответе. Вы должны убедиться, что используется правильный ключ SSH. В моем случае при непосредственном использовании ssh использовался правильный ключ. Тем не менее, rsync НЕ нашел правильный ключ.

Чтобы решить эту проблему, вызовите rsync следующим образом:

rsync -avzu -e "ssh -i FULL_PATH_TO_SSH_PRIVATE_KEY" --delete SOURCE USER@HOST:/DEST_PATH

Хитрость заключается в передаче параметра -i с помощью ssh с указанием ключа.

...