Subversion на Mac - отказывается получать пароль из брелка - PullRequest
7 голосов
/ 19 марта 2009

В Mac OS X Leopard - когда я пытаюсь получить доступ к удаленному репозиторию из терминала, он всегда запрашивает: 1. Пароль 2. Имя пользователя 3. Пароль (снова)

с сообщением: «Область аутентификации: http://svn.myserver.com:80 Subversion»

Я проверил, и мои учетные данные хранятся в связке ключей, и SVN имеет к ним доступ. Почему он не использует их?

Ответы [ 8 ]

5 голосов
/ 19 октября 2011

Я решил эту проблему путем рекурсивного изменения владельца каталога аутентификации Subversion:

sudo chown -R myuser:staff ~/.subversion/auth/

(предыдущий пользователь: группа пара была установлена ​​на root:staff)

Вам также необходимо установить password-stores = keychain в файле конфигурации Subversion:

~/.subversion/config

4 голосов
/ 19 марта 2009

По умолчанию svn (и большинство приложений Unix) передают ваше локальное имя пользователя в качестве имени пользователя для удаленного входа. Я подозреваю, что имя вашей учетной записи на сервере Subversion отличается от имени вашей локальной учетной записи. Таким образом, аутентификация завершается неудачно при первом вводе пароля Subversion, и svn, как и большинство приложений Unix, запрашивает удаленное имя пользователя и пароль и пытается повторно подтвердить подлинность. Вы можете передать свое имя удаленного пользователя с помощью опции --username на svn:

svn --username [remote_username] ...
3 голосов
/ 07 июня 2010

Я решил эту проблему, просто удалив соответствующий файл аутентификации в ~/.subversion/auth/svn.simple (найдите правильный с помощью grep, так как они названы смешными). Затем, после следующего svn в этом хранилище (где svn спросил имя пользователя и пароль), он теперь работает правильно.

2 голосов
/ 03 июля 2012

Я столкнулся с той же проблемой при запуске команд SVN из окна SSH. Основываясь на некоторых комментариях выше, я удалил связанный файл в ~ / .subversion / auth / svn.simple, а затем выполнил команду svn из сеанса терминала прямо в окне OSX, в результате чего всплыло окно с вопросом, хочу ли я предоставить разрешение SVN, чтобы прочитать мой брелок. Я предоставил ему разрешение навсегда, и теперь команда svn в моем окне ssh работает без запроса пароля.

1 голос
/ 19 января 2011

У меня была похожая проблема с OS X, в которой SVN просто отказывался использовать мои сохраненные учетные данные, несмотря на их четкую регистрацию в связке ключей с доступом, предоставленным svn.

Оказывается, у моего каталога ~/.subversion/auth были странные разрешения.

sudo chmod 777 ~/.subversion/auth решил мою проблему.

1 голос
/ 20 марта 2009

Можете ли вы предоставить больше информации? Кеширование паролей в цепочке для ключей не было добавлено до Subversion 1.4.x. Вы получаете какую-либо ошибку? Нам понадобится дополнительная информация, чтобы помочь.

0 голосов
/ 22 июня 2018

Пробовал много вещей из потока, у меня это работало:

  • раскомментировать password-stores = keychain в ~/.subversion/config
  • оформить заказ / обновить репо, ввести учетные данные.
  • открыть приложение цепочки для ключей, найти строку (-и) с адресом вашего хранилища в цепочке для ключей входа в систему, дважды щелкнуть по нему (или по каждой из них), выбрать вкладку «Контроль доступа» и поставить галочку «Разрешить всем приложениям доступ к этому элементу»

После этого подрывного процесса, наконец, запомни мои учетные данные.

Кстати, эта проблема началась, когда я переключился с терминала по умолчанию на iTerm2 + zsh + oh my zsh

0 голосов
/ 15 марта 2011

У меня нет ответа, но я замечаю, что если я вошел на мою машину локально, то Subversion будет читать пароль цепочки для ключей, но если я ssh в Mac с удаленного компьютера, то Subversion не будет читать пароль брелка.

Похоже, что ssh login помещает команду svn в среду, которая не имеет доступа к цепочке для ключей ...

Может ли это быть вашей проблемой?

...