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

Мне нужно восстановить / reset пароль администратора для JetBrain TeamCity.

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

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

Ответ 1

Если ни одна из этих работ не работает, см. 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

Ответ 2

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

Пожалуйста, смотрите следующее для получения дополнительной информации:

Ответ 3

Для 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" в моем случае (я думаю, что я установил его во время установки, но не могу быть уверен).

Я пропустил путь к аргументу 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)

Если это смущает других людей.

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

Мне просто пришлось пройти эту боль с помощью V5 EAP.

Мне удалось reset успешно выполнить пароль:

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 везде, где установлена ​​ваша установка.

Ответ 7

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

Ответ 8

В частности, для TeamCity, запущенного на Tomcat в Windows, это будет C:\ProgramData\JetBrains\TeamCity

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

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

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

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

Ответ 9

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

https://confluence.jetbrains.com/display/TCD9/Super+User

Ответ 10

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

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

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

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

Ответ 11

С TeamCity 5 с использованием MySQL (возможно, другие версии и RDBM, а также непроверенные), можно обновить пароль напрямую через SQL:

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

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

Ответ 12

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

Для сброса настроек... В случае, если это помогает кому-то еще в Windows XP на версии 5 TeamCity, моя информация о конфигурации .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

Ответ 13

  • Остановить teamcity
  • Вам следует пройти путь к вашему серверу buildserver например если вы установили сервер сборки в каталог c: \. BuildServer

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

Ответ 14

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

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

> 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)

Ответ 15

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

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

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

Ответ 16

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

Сервер выключения

Переключиться в каталог /webapps/ROOT/WEB -INF/lib

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

Платформа Windows: java -cp server.jar; common-api.jar; commons-codec-1.3.jar; util.jar; hsqldb.jar ChangePassword

Unix-платформа: java -cp server.jar: common-api.jar: commons-codec-1.3.jar: util.jar: hsqldb.jar ChangePassword

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

[Ссылка: http://confluence.jetbrains.com/display/TCD7/Changing+user+password+with+default+authentication+scheme]

Ответ 17

В качестве альтернативы вы можете использовать журнал TeamCity Server и получить маркер Super User.

Используя токен, перейдите по URL: http://(сервер): (порт)/login.html?super=1

то есть: http://localhost: 92/login.html? super = 1

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

Ответ 18

Прямой URL-адрес супер-пользователя:

http://servername:port/login.html?super=1

Откройте папку журнала TeamCity (пример C: диск: C:\TeamCity\logs): teamcity-server.log, найдите ключ: "Аутентификация суперпользователя"

[2019-03-04 12:14:30,770]   INFO -   jetbrains.buildServer.SERVER - Super user authentication token: '8347518935696887114' (use empty username with the token as the password to access the server)

Ответ 19

Я прошел в той же ситуации и сделал логин с суперпользователем, выполните следующие действия:

1 - Получить токен в "teamcity-server.log" по пути "XX:\TeamCity\logs";

2 - Войдите и войдите с помощью токена по адресу: "/login.html?super=1";

Подробнее об этом:

https://confluence.jetbrains.com/display/TCD18/Super+User

Ответ 20

0

Прямой URL-адрес супер-пользователя:

Http://имя_сервера: порт /login.html супер = 1 папка журнала Open TeamCity (пример C: диск C:\TeamCity\журналы): TeamCity-server.log, найти ключ: "Супер Идент.польз электронной ntication"

[2019-03-04 12: 14: 30,770] ИНФОРМАЦИЯ - jetbrains.buildServer.SERVER - аутентификация суперпользователя