Переместить сохраненную аутентификацию TortoiseSVN на другую машину?
Есть ли способ переместить сохраненный логин / пароль для TortoiseSVN в сетевой репозиторий с компьютера на компьютер? Только что получил новую машину, знаю свое имя пользователя, но не помню свой логин в хранилище.
Я знаю, что TortoiseSVN сохраняет некоторую информацию auth в каталогах %appdata% Subversionauth
Перешел к файлу, который я нашел в svn.просто; я вижу свое имя пользователя в нем открытым текстом, но пароль зашифрован. Я также вижу "wincrypt" в файле, так что это крипто вызванная функциональность.
Обычно я бы просто попросил администратора SVN сбросить его для меня, но он находится в отпуске до следующей недели, как и другой администратор для SVN.
Я могу погрузиться в исходный код TortoiseSVN и посмотреть, как выполняется аутентификация, но должен быть более простой способ. Я могу запустить Wireshark на успешной аутентификации со старых машин, если это будет полезно.
5 ответов:
Смотрите этот ответ: извлечение сохраненного пароля TortoiseSVN
Если у вас все еще есть доступ к старой машине и учетной записи пользователя Windows, то вы можете извлечь пароли, используя стороннюю утилиту "TortoiseSVN Password Decrypter".
Wireshark-еще одна хорошая альтернатива, но я не думаю, что она поможет вам для хранилищ SSL.
Решено! Оказывается, это было довольно просто решить.
Wireshark был ответом. Сделал захват связи между моей старой машиной и хостом репозитория, запустил браузер РЕПО из TortoiseSVN. Затем я запустил" Follow TCP Stream " в разговоре и нашел эту строку:
Авторизация: Базовая ZHIzeDppc0F3ZXNvbWU=
Вот сценарий Powershell для его декодирования:
$basic = "ZHIzeDppc0F3ZXNvbWU="
[Система.Текст.Кодировка]:: ASCII.GetString ([Система.Convert]:: FromBase64String ($basic))Возвращает обычный текст: uname: pwd
Согласно файлу справки, TortoiseSVN хранит учетные данные в подпапках
%appdata%\Subversion\auth
:Я думаю, вы могли бы просто попробовать скопировать эти папки на другой машине.
svn.simple
содержит учетные данные для обычной аутентификации (имя пользователя / пароль).svn.ssl.server
содержит сертификаты сервера SSL.svn.username
содержит учетные данные для аутентификации только по имени пользователя (пароль не требуется).
Учетные данные шифруются с помощью API шифрования windows, используя данные от вошедшего в систему пользователя. Это означает, что шифрование основано на вашей учетной записи входа в систему Windows и поэтому не может быть скопировано на другую машину, даже если вы настроили пользователя с тем же именем пользователя и паролем.
Я думаю, что вы хотели бы, чтобы это Не было возможно, так как это означало бы, что любой может скопировать некоторые файлы и иметь возможность вносить изменения, используя вашу учетную запись SVN. Может быть, это и к лучшему, что это невозможно и что все более безопасно.
Вместо этого, вы должны разработать лучшую внутреннюю политику в отношении управления паролями, чтобы вы не зависели от определенных людей, находящихся вокруг для такого рода вещей (например, фактор шины ).