SVN + SSH без пароля из командной строки? - PullRequest
8 голосов
/ 25 февраля 2011

Я хочу сделать

svn update /Users/radek/Sites/3.0.5/ -r HEAD --force

без необходимости ввода пароля.

svn подключается к нашему серверу хранилища, но я не уверен под каким именем пользователя (как я могу узнать?).Я предполагаю, что это будет либо root, либо radek

Пароль, который я ввожу для продолжения работы svn, такой же, как пароль root на сервере репозитория, поэтому я добавил свой открытый ключ в файл author_keys root.Так что я ssh на сервер репозитория без ввода пароля, но это не повлияло на svn, запрашивающего пароль вообще.Пароль пользователя radek на сервере репозитория отличается от пароля, который я ввожу для svn up

Если я фиксирую что-либо из Eclipse, автором является radek.

Solution

svn info

сказал от имени какого пользователя мне нужно войти на сервер репозитория, а затем я добавил открытый ключ в его файл author_keys.Теперь мне не нужно вводить пароль при использовании svn.

Ответы [ 2 ]

6 голосов
/ 25 февраля 2011

Существует программа под названием «ssh-agent», которая сохраняет незаблокированный ключ RSA или DSA в памяти и передает этот ключ в SSH через сокет UNIX.Это можно использовать для SSH-соединений «без пароля», при условии, что вы сгенерируете пару открытый / закрытый ключ RSA или DSA и добавляете открытый ключ к файлу «ized_keys »или« authorized_keys2 »удаленного хоста.Когда вы впервые добавляете ключ в ssh-agent или включаете ssh-agent, вам нужно будет указать свой пароль, но последующее использование SSH может происходить без пароля.Следующие статьи могут оказаться полезными с точки зрения настройки агента SSH:

Обратите внимание, что в Mac OS X (по состоянию на 10.5 и выше), есливы генерируете пару секретный / открытый ключ и помещаете открытый ключ в файл author_keys удаленного хоста, когда вы подключаете SSH к этому хосту, Mac OS X автоматически запускает свой собственный ssh-agent (настройка не требуется) и предлагает запомнитьпароль (он сохранит его в KeyChain).Подробнее об этом вы можете узнать на Mac OS X Leopard - встроенный агент SSH .

3 голосов
/ 12 марта 2016

Если вы не можете использовать файл ключа, используйте sshpass (в Linux):

Установите sshpass

$ sudo apt-get install sshpass

Установите временную переменную среды

$ export SSHPASS=yourpass

Редактирование файла конфигурации svn

$ nano ~/.subversion/config

Наконец, закомментируйте добавление sshpass -e в строку ssh перед командой ssh

ssh = $SVN_SSH sshpass -e ssh -q -o ControlMaster=no
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...