Переместить сохраненную аутентификацию TortoiseSVN на другую машину? - PullRequest
2 голосов
/ 15 сентября 2010

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

Я знаю, что TortoiseSVN сохраняет некоторую информацию об аутентификации в каталогах по адресу% appdata% \ Subversion \ auth

Переместился через файл, который я нашел на svn.simple; Я вижу свое имя пользователя в текстовом виде, но пароль зашифрован. Я также вижу «wincrypt» в файле, так что вызывается криптографическая функциональность.

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

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

Ответы [ 5 ]

3 голосов
/ 25 января 2011

См. Этот ответ: Извлечь сохраненный пароль TortoiseSVN

Если у вас все еще есть доступ к старой машине и учетной записи пользователя Windows, вы можете извлечь пароли с помощью сторонней утилиты "TortoiseSVN Password Decrypter".

Wireshark - еще одна хорошая альтернатива, но я не верю, что она поможет вам для хранилищ SSL.

2 голосов
/ 16 сентября 2010

Решено! Оказывается, это было довольно просто решить.

Wireshark был ответом. Сделал перехват связи между моей старой машиной и хостом репозитория, запустил браузер репозитория от TortoiseSVN. Затем я запустил «Follow TCP Stream» в разговоре и нашел следующую строку:

Авторизация: Basic ZHIzeDppc0F3ZXNvbWU =

Вот скрипт Powershell для его декодирования:
$ basic = "ZHIzeDppc0F3ZXNvbWU ="
[System.Text.Encoding] :: ASCII.GetString ([System.Convert] :: FromBase64String ($ основной))

Возвращает простой текст: uname: PWD

1 голос
/ 16 сентября 2010

Учетные данные зашифрованы с помощью API-интерфейсов шифрования Windows, используя данные от вошедшего в систему пользователя. Это означает, что шифрование основано на вашей учетной записи для входа в Windows и поэтому не может быть скопировано на другой компьютер, даже если вы настроили там пользователя с тем же именем пользователя и паролем.

1 голос
/ 15 сентября 2010

Согласно файлу справки , TortoiseSVN хранит учетные данные в подпапках %appdata%\Subversion\auth:

  • svn.simple содержит учетные данные для базовой аутентификации (имя пользователя / пароль).
  • svn.ssl.server содержит сертификаты сервера SSL.
  • svn.username содержит учетные данные для аутентификации только по имени пользователя (пароль не требуется).

Полагаю, вы можете просто скопировать эти папки на другую машину.

0 голосов
/ 15 сентября 2010

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

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

...