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 - аутентификация суперпользователя