TeamCity забыли пароль администратора-где искать?



Мне нужно восстановить/сбросить пароль администратора продуктами компании JetBrains по TeamCity.



У меня есть полный RDP доступ к серверу, так что никаких проблем нет. Прошло всего 2 месяца с тех пор, как мы его использовали, поэтому теперь я забыл свой логин - мои обычные не работают.



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

639   17  

17 ответов:

в случае, если ни одна из этих работ, см. http://sebastienlachance.com/post/Resetting-TeamCity-Password.aspx.

Откройте командную строку и перейдите в папку \webapps\ROOT\WEB-INF\lib. Теперь введите следующее :

..\..\..\..\jre\bin\java.exe -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword username newpassword

из TeamCity 8 вы можете войти в систему как суперпользователь и изменить пароль таким образом. Вам просто нужно использовать пустое имя пользователя и последнее вхождение "маркера аутентификации суперпользователя", найденного в logs\teamcity-server.файл журнала в качестве пароля.

дополнительную информацию см. ниже:

Для TeamCity 6.5.4

из командной строки в папке установки [TeamCity]\webapps\ROOT\WEB-INF\lib:

..\..\..\..\jre\bin\java -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin NewPassword

мое имя пользователя было "admin" в моем случае (я думаю, что я установил его во время установки, но я не могу быть уверен).

Я ommitted путь к аргументу TeamCity, он достаточно умен, чтобы использовать правильный путь (мой был c:\users\administrator.BuildServer)

когда я предоставил (неправильный) путь к TeamCity в качестве аргумента я получил это сообщение:

Using TeamCity configuration directory path: c:/TeamCity/.BuildServer
Exception in thread "main" java.sql.SQLException: Table not found in statement [UPDATE users SET PASSWORD = ? WHERE USERNAME = ? AND REALM IS NULL]
    at org.hsqldb.jdbc.Util.throwError(Util.java:58)
    at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(jdbcPreparedStatement.java:1833)
    at org.hsqldb.jdbc.jdbcConnection.prepareStatement(jdbcConnection.java:580)
    at ChangePassword.main(ChangePassword.java:14)

в случае, если это смущает других людей тоже.

вы можете попробовать сбросить установку TeamCity, удалив каталог данных TeamCity ( по умолчанию)

попробуйте следующее:

сначала остановите службу TeamCity (также остановит агент сборки, если он установлен). Затем откройте консоль, перейдите в каталог java и выполните следующую команду оттуда:

java.exe -cp server.jar; hsqldb.jar ChangePassword USERNAME PASSWORD "PATH_TO_YOUR_TEAMCITY_INSTALLATION".BuildServer

Мне просто пришлось пройти через эту боль с v5 EAP.

мне удалось успешно сбросить пароль с помощью команды:

C:\TeamCity\webapps\ROOT\WEB-INF\lib>..\..\..\..\jre\bin\java -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin password c:\TeamCity\.BuildServer

хотя вам нужно будет заменить C:\TeamCity с везде, где ваша установка расположена.

в случае, если это поможет кому-то еще, тот, кто установил TeamCity на моем сервере, разместил каталог сборки под профилем администратора, а не в C:\TeamCity.

специально для TeamCity работает на Tomcat на Windows это будет C:\ProgramData\JetBrains\TeamCity

каталог, указанный в качестве последнего параметра, должен быть вашим каталогом данных (найти в /logs/teamcity-server.журнала)

вы получите "таблица не найдена" ошибка, если у вас нет этого правильно.

вы получите "база данных уже используется" ошибка, если у вас есть TeamCity работает.

вы также можете искать вас / журналы / teamcity-server.бревно чтобы узнать, создали ли вы admin, administrator или какое-либо другое имя пользователя admin.

для всех, кто может прибыть в эту статью через несколько лет после первоначального ответа, как я только что сделал, есть встроенная учетная запись суперпользователя, и пароль восстанавливается каждый раз, когда запускается team city, и пароль находится в журнале. Вы можете использовать этого суперпользователя для входа и сброса любых паролей. Это очень просто.

https://confluence.jetbrains.com/display/TCD9/Super + пользователь

TeamCity всегда использует базу данных - если вы явно не настроили ее, это использует базу данных HSQLDB для хранения данных внутри.

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

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

второе предложение-бросьте парней поддержки в JetBrains по электронной почте. Еще до того, как мое рабочее место выплеснулось на лицензию TeamCity Enterprise, их поддержка была превосходной - быстрой, точной и полезной.

С помощью TeamCity 5 с использованием MySQL (возможно, и других версий и СУБД, но непроверенных) можно обновить пароль непосредственно через SQL:

mysql> update users set password = md5("mypass123") where username = "bob";

тем не менее, я бы придерживался версий CLI, уже упомянутых другими, если нет веской причины не делать этого.

во-первых, если вы выходите из системы, на экране входа уже заполнено имя пользователя "TCAdmin", когда оно должно быть "администратор". TCAdmin-это полное имя (я думаю) пользователя администратора версии 5 по умолчанию. Изменив это на администратора, а затем используя пароль, я думал, что это решило мою проблему.

для сброса... В случае, если это поможет кому-то еще на Windows XP на версии 5 TeamCity, my .Информация о конфигурации BuildServer также была под моими текущими зарегистрированными документами пользователя и папка настроек. Также я был сбит с толку пробелом в списке файлов jar в хорошем ответе Себастьяна выше.

поэтому я перешел в этот каталог в командной строке:

 c:\teamcity\webapps\ROOT\WEB-INF\lib 

и тогда эта командная строка (чтобы установить пароль: Password1) работала для меня:

C:\TeamCity\webapps\ROOT\WEB-INF\lib>..\..\..\..\jre\bin\java.exe -cp server.jar;commonapi.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword administrator Password1

, которая дала выход:

Using TeamCity configuration directory path: C:/Documents and Settings/tamw/.BuildServer 
Password changed successfuly
  1. остановить teamcity
  2. вы должны передать путь к вашему buildserver например, если вы установили сервер сборки в dir " c:\.BuildServer"

........\jre\bin\java.exe-cp сервер.jar; common-api.jar; commons-codec-1.3.банку;утиль.jar;hsqldb.jar ChangePassword имя пользователя newpassword c:\.BuildServer

вот что сработало для меня.

выключить серверные службы

> cd c:\TeamCity\webapps\ROOT\WEB-INF\lib>

затем

> ..\..\..\..\jre\bin\java.exe -cp server.jar ;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin password1 C:\ProgramData\JetBrains\TeamCity\

без пути в конце, он потерпел бы неудачу с:

Exception in thread "main" java.sql.SQLException: Table not found in statement [
UPDATE users SET PASSWORD = ? WHERE USERNAME = ? AND REALM IS NULL]
        at org.hsqldb.jdbc.Util.throwError(Util.java:58)
        at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(jdbcPreparedStatement.ja
va:1833)
        at org.hsqldb.jdbc.jdbcConnection.prepareStatement(jdbcConnection.java:5
80)
        at ChangePassword.main(ChangePassword.java:14)

мы используем Teamcity 7 С MS SQL Server в качестве СУБД.

для сброса пароля вы можете использовать следующий запрос:

UPDATE users SET password = LOWER(SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES('md5','your_new_password')),3,32))
 where username = "your_user_name";

изменить пароль пользователя:

завершение работы сервера

перейдите в каталог/webapps/ROOT/WEB-INF / lib

вызовите следующую команду:

платформа Windows: java-cp сервер.jar; common-api.jar; commons-codec-1.3.банку;утиль.jar;hsqldb.jar ChangePassword

платформа Unix: java-cp сервер.банки:общий-АФИ.jar: commons-codec-1.3.банки:утиль.jar:hsqldb.jar ChangePassword

вы можете пропустить эту опцию, если вы используете путь по умолчанию для файлов данных TeamCity: /.BuildServer

[Ref: http://confluence.jetbrains.com/display/TCD7/Changing+user+password+with+default+authentication+scheme]

кроме того, вы можете использовать журнал сервера TeamCity и получить маркер суперпользователя.

используя токен, перейдите по URL:http:/ / (server): (port) / login.HTML-код?супер=1

ie:http://localhost:92/login.HTML-код?супер=1

после того как вы вошли в систему, вы всегда можете создать нового пользователя или сбросить пароль для аккаунта.

Comments

    Ничего не найдено.