Как сохранить пароль при использовании Subversion с консоли



мне было интересно, есть ли способ сохранить мой пароль Subversion при выполнении svn операции с консоли. Консоль-это единственный вариант, который у меня есть. Когда я пытаюсь сделать какое-либо подрывное действие, например svn commit, он запрашивает пароль учетной записи каждый раз. Есть ли способ сохранить этот пароль каким-то образом, чтобы мне не приходилось повторять его каждый раз?

935   10  

10 ответов:

на ~/.subversion/config, вы, наверное store-passwords = no. Измените его на yes (или просто прокомментируйте его, потому что по умолчанию он равен yes), и в следующий раз, когда вы дадите Subversion свой пароль, он должен его сохранить.

вы можете убедиться, что владелец и разрешения ~/.subversion/config правильно (нет общего или группового доступа; 600).

Это зависит от протокола, который вы используете. Если вы используете SVN + SSH, клиент SVN не может сохранить ваш пароль, потому что он никогда не касается его - клиент SSH запрашивает его напрямую. В этом случае вы можете использовать SSH-ключ и ssh-агент, чтобы избежать постоянных запросов. Если вы используете протокол svnserve или HTTP(S), то SSH-клиент обрабатывает ваш пароль и может его сохранить.

попробуйте очистить .subversion папка в вашем домашнем каталоге и повторите попытку фиксации. Он должен запросить у вас пароль, а затем спросить, хотите ли вы сохранить пароль.

мне пришлось редактировать ~/.subversion/servers. Я поставил store-plaintext-passwords = yes (не ранее). Это сделало свое дело. Это может считаться небезопасным, хотя.

обратите внимание на следующий абзац из ~/.subversion/servers file:

Как хранить пароли " и " магазин-авт-удостоверение теперь можно указывается в файле "серверы" в вашем каталоге конфигурации. Все, что указано в этом разделе, переопределяется настройками указывается в файле 'servers'.

это по крайней мере для SVN-версии 1.6.12. Поэтому имейте в виду, чтобы редактировать файл серверов также, как он переопределяет ~/.subversion/config.

Если вы используете svn+ssh, вы можете скопировать свой открытый ssh-ключ на удаленную машину:

ssh-copy-id user@remotehost

для меня (пользователя Mac) проблема заключалась в том, что брелок уже имел запись, сохраненную для моих учетных данных, но права доступа были неправильными.

удаление записи в цепочке ключей приложения, а затем воссоздать его с помощью svn Исправлена проблема.

использование открытого текста может быть не лучшим выбором, если пароль когда-либо используется как что-то другое.

Я поддерживаю принятый ответ, но это не сработало для меня - по очень конкретной причине: я хотел использовать либо kwallet или gnome-keyring хранит пароль. Я попытался изменить настройки, по всем четырем файлам:

/etc/subversion/config
/etc/subversion/servers
~/.subversion/config
~/.subversion/servers

даже после того, как все было установлено одинаково, с password-stores и имя KWallet (по умолчанию может быть неправильно, верно?) он не работал и продолжал спрашивать пароль навсегда. Файлы в ~/.subversion имел разрешения 600.

Ну, в этот момент, Вы можете попробовать проверить одну простую вещь:

which svn

если вы:

/usr/bin/local/svn

тогда вы можете с большой вероятностью подозревать, что этот клиент был построен из источника, локально, вашим администратором (который может быть самим, как в моем случае).

Subversion-это мерзкий зверь для компиляции, очень легко случайно построить без поддержки HTTP, или-как в мой пример-без поддержки зашифрованных хранилищ паролей (вам нужны файлы разработки Gnome или KDE, и их много!). Но это ./configure скрипт не скажет вам этого, и вы просто получите менее функциональный .

в этом случае вы можете вернуться к клиенту, который пришел с вашим дистрибутивом, обычно в /usr/bin/svn. Недостатком является-Вам, вероятно, придется повторно проверить рабочие копии, так как нет . Вы можете проконсультироваться Лайнус Торвальдс о том, что думать о подрывной деятельности, в любом случае;)

к сожалению, ответы не решили проблему запроса пароля для ssh+svn с защищенным закрытым ключом. После некоторых исследований я обнаружил:

ssh-add

утилита, если у вас есть компьютер Linux. Убедитесь, что ваши ключи хранятся в /home/username/.ssh/ и введите эту команду на терминале.

Я использую TortoiseSVN клиент на Windows и для меня параметр store-passwords как да в %USERPROFILE%\AppData\Roaming\Subversion\config не помогает хранить пароль.

пароль был успешно сохранен после удаления этой папки (на всякий случай переименования):

%USERPROFILE%\AppData\Roaming\Subversion\auth

среда:

Windows 7, TortoiseSVN 1.7.11 (Build 23600-64 bit, 2012-12-12T19:08:52), Подрывной 1.7.8.

Comments

    Ничего не найдено.