Автоматическая аутентификация с Subversion

у меня есть сервер SVN, к которому я подключаюсь с ssh+svn. При проверке конкретного каталога, содержащего много svn:external репозиториев, я должен ввести свой пароль несколько раз.

  1. как настроить мой клиент Subversion для автоматической аутентификации?
  2. где доказательства этого?

3 ответов


Я не знаю о встроенном механизме SVN для автоматической аутентификации SSH. Но вы можете использовать механизм аутентификации открытого ключа из SSH:

вот краткий учебник о том, как это сделать:http://www.petefreitag.com/item/532.cfm Вы можете легко найти больше информации в интернете об этом.

, Так как это может быть полезно, вот более подробное руководство, с информацией о экспедитор : http://unixwiz.net/techtips/ssh-agent-forwarding.html

некоторые основы аутентификации с открытым ключом

есть другой способ для удаленного сервера SSH аутентифицировать вас при попытке входа в систему. Классический пароль-один из них. Но также можно использовать механизм, основанный на асинхронных ключах.

вы создаете пару ключей на локальном компьютере : закрытый и открытый. Затем необходимо распространить открытый ключ на все удаленные SSH сервер, где вы хотите войти. Очень важно, чтобы закрытый ключ никогда не распространялся.

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

больше не требуется пароль для операций SVN или любого другого SSH-соединения с этой удаленной машиной.

SSH-agent

еще одна информация о ssh-агентах.

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

однако, если вы выбираете пароль, каждый раз, когда вы хотите использовать ключ, вы должны ввести пароль, который будет таким же, как использование аутентификации пароля с SSH. Но есть аккуратное решение: ssh-агент.

агент-это маленький демон, который будет хранить ваши ключи в памяти. Когда вы добавляете ключ к агенту с ssh-add, он сначала попросит у вас пароль, а затем, каждый раз, когда SSH-клиенту понадобится ключ, он попросит агента, поэтому больше нет пароля.

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

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


SVN поддерживает хранение аутентификации-что полезно для избежания необходимости аутентификации для каждого svn: external. См. config и README.txt файл находится в ~/.подрывная деятельность.

первая часть файла конфигурации должна быть разделом аутентификации:

### Section for authentication and authorization customizations.
[auth]
### Set store-passwords to 'no' to avoid storing passwords in the
### auth/ area of your config directory.  It defaults to 'yes'.
### Note that this option only prevents saving of *new* passwords;
### it doesn't invalidate existing passwords.  (To do that, remove
### the cache files by hand as described in the Subversion book.)
store-passwords = yes
### Set store-auth-creds to 'no' to avoid storing any subversion
### credentials in the auth/ area of your config directory.
### It defaults to 'yes'.  Note that this option only prevents
### saving of *new* credentials;  it doesn't invalidate existing
### caches.  (To do that, remove the cache files by hand.)
# store-auth-creds = no

похоже, что ключи хранятся в ~/.subversion / auth (по крайней мере, в Unix).

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

Я поддерживаю использование ssh-ключей для доступа к вашему РЕПО. Эта информация относится только к аутентификации SVN.


Да, я второй, открытый ключ-аутентификация-это путь. Если вы защищаете свой ключ с помощью парольной фразы, вы хотите использовать ssh-agent для хранения ключа в связке ключей в Linux или putty's pageant в Windows. В противном случае вам все равно придется вводить пароль все время.