Как сохранить пароль при использовании Subversion из консоли - PullRequest
95 голосов
/ 24 мая 2010

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

Ответы [ 11 ]

99 голосов
/ 24 мая 2010

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

51 голосов
/ 24 мая 2010

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

33 голосов
/ 24 мая 2010

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

16 голосов
/ 02 августа 2012

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

7 голосов
/ 30 января 2013

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

Теперь можно указать и «store-passwords», и «store-auth-creds» в файле «Servers» вашегокаталог конфигурации.Все, что указано в этом разделе, переопределяется настройками, указанными в файле 'Servers'.

Это как минимум для SVN версии 1.6.12.Так что имейте в виду, что редактируйте файл серверов так же, как он переопределяет ~/.subversion/config.

6 голосов
/ 30 сентября 2014

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

ssh-copy-id user@remotehost
4 голосов
/ 13 апреля 2018

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

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

3 голосов
/ 05 августа 2014

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

Я поддерживаю принятый ответ, но он не работает для меня - по очень конкретной причине: яхотел использовать 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 не скажет вам об этом, и вы просто получите менее функциональную команду svn.

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

2 голосов
/ 27 апреля 2019

Ни один из этих чудесных ответов не сработал для меня при новой установке Ubuntu.Вместо этого подсказка от этого ответа пошла мне на пользу.

Мне пришлось разрешить «простое» хранилище паролей, установив пустое значение в ~/.subversion/config:

password-stores =

Существовавших настроек не было, поэтому значение пусто имеет значение.

Это было в дополнение к:

store-passwords = yes

в ~/.subversion/servers.

1 голос
/ 09 февраля 2015

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

ssh-add

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...