Как сохранить пароль при использовании Subversion с консоли
мне было интересно, есть ли способ сохранить мой пароль Subversion при выполнении svn операции с консоли. Консоль-это единственный вариант, который у меня есть. Когда я пытаюсь сделать какое-либо подрывное действие, например svn commit, он запрашивает пароль учетной записи каждый раз. Есть ли способ сохранить этот пароль каким-то образом, чтобы мне не приходилось повторять его каждый раз?
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/serversfile:Как хранить пароли " и " магазин-авт-удостоверение теперь можно указывается в файле "серверы" в вашем каталоге конфигурации. Все, что указано в этом разделе, переопределяется настройками указывается в файле '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