Преместване на запазено TortoiseSVN удостоверяване на друга машина?

Има ли начин да преместите запазени потребителско име/парола за TortoiseSVN в мрежово хранилище от машина на машина? Току-що получих нова машина, знам потребителското си име, но не си спомням влизането ми в хранилището.

Знам, че TortoiseSVN запазва известна информация за удостоверяване в директориите в %appdata%\Subversion\auth

Преместих файла, който намерих в svn.simple; Виждам потребителското си име в него в ясен текст, но паролата е шифрована. Също така виждам "wincrypt" във файла, така че това е извиканата крипто функционалност.

Обикновено бих накарал администратора на SVN да го нулира вместо мен, но той е във ваканция до следващата седмица, както и другият администратор за SVN.

Мога да се потопя в източника за TortoiseSVN и да видя как се извършва удостоверяването, но трябва да има по-лесен начин. Мога да стартирам Wireshark при успешното удостоверяване от старите машини, ако това би било полезно.


person dr3x    schedule 15.09.2010    source източник
comment
Мисля, че удостоверяването е шифровано с помощта на потребителските идентификационни данни за вход в Windows, което прави това, което искате, невъзможно.   -  person Pekka    schedule 15.09.2010
comment
Има начини за дешифриране на удостоверяване, ако знаете кой метод на криптиране се използва и къде да намерите ключовете; например има инструмент за дешифриране с API за защита на данните на Windows (dpapick.com)   -  person dr3x    schedule 16.09.2010


Отговори (6)


Вижте този отговор: Извличане на запазена парола в TortoiseSVN

Ако все още имате достъп до старата машина и потребителския акаунт на Windows, тогава можете да извлечете паролите с помощта на помощната програма "TortoiseSVN Password Decrypter" на трета страна.

Wireshark е друга добра алтернатива, но не вярвам, че ще ви помогне за SSL хранилища.

person rkagerer    schedule 25.01.2011

Според помощния файл, TortoiseSVN съхранява идентификационни данни в подпапки на %appdata%\Subversion\auth:

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

Предполагам, че можете просто да опитате да копирате тези папки на другата машина.

person M4N    schedule 15.09.2010
comment
Да, вече го пробвах и не се получи. Също така копирани над ключовете на системния регистър от 3 места (2 HKCU + 1 HKLM); цялата папка %programfiles%\TortoiseSVN и 2-те папки %appdata% (Subversion и TortoiseSVN). Все още се подканва за парола. - person dr3x; 15.09.2010

Решено! Оказа се, че е доста лесно да се разреши.

Wireshark беше отговорът. Направих улавяне на комуникацията между старата ми машина и хоста на хранилището, стартирах репо браузъра от TortoiseSVN. След това стартирах „Следване на TCP поток“ в разговора и намерих този ред:

Упълномощаване: Основно ZHIzeDppc0F3ZXNvbWU=

Ето скрипта на Powershell, за да го декодирате:
$basic = "ZHIzeDppc0F3ZXNvbWU="
[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($basic))

Връща обикновен текст: uname:pwd

person dr3x    schedule 16.09.2010

В TortoiseSVN 1.9 и по-нови можете да го направите без допълнителни инструменти:

Диалогов прозорец за настройки -> Запазени данни, след което щракнете върху бутона „Изчистване...“ вдясно от текста „Данни за удостоверяване“. Изскача нов диалогов прозорец, показващ всички съхранени данни за удостоверяване, където можете да изберете коя(и) да изчистите. Вместо да изчистите, задръжте натиснат бутоните Shift и Ctrl и след това щракнете два пъти върху списъка. В диалоговия прозорец се показва нова колона, която ясно показва паролата.

person tw0shoes    schedule 13.03.2020
comment
Дори не си представяте колко много имах нужда от това и отговорът на последното ви обаждане направи деня ми! Работи перфектно! Благодаря ви много! - person Ju Oliveira; 13.03.2020
comment
Работи!! Благодаря ви много. - person Proteo5; 12.06.2021

Идентификационните данни са криптирани с API за криптиране на Windows, като се използват данните от влезлия потребител. Това означава, че криптирането е базирано на вашия акаунт за влизане в Windows и следователно не може да бъде копирано на друга машина, дори ако сте настроили потребител със същото потребителско име и парола там.

person Stefan    schedule 16.09.2010
comment
Знаете ли каква информация се използва за криптиране на идентификационните данни? DPAPICK не работеше с главните ключове от старата машина; може да е друг метод за криптиране. - person dr3x; 16.09.2010
comment
CryptProtectData(), вижте svn източника: svn.apache .org/repos/asf/subversion/trunk/subversion/ - person Stefan; 17.09.2010

Мисля, че бихте искали това не да е възможно, тъй като би означавало, че всеки може да копира някои файлове и да може да прави промени, използвайки вашия SVN акаунт. Може би е най-добре това да не е възможно и нещата да са по-сигурни.

Вместо това трябва да разработите по-добра вътрешна политика относно управлението на пароли, така че да не разчитате на определени хора за подобни неща (т.е. шинен фактор).

person Bernard    schedule 15.09.2010