TeamCity가 관리자 암호를 잊어 버린 경우-어디에서 확인해야합니까?
JetBrain의 TeamCity 관리자 비밀번호를 복구 / 재설정해야합니다 .
서버에 대한 전체 RDP 액세스 권한이 있으므로 문제가 없습니다. 사용한 지 불과 2 개월이 지났기 때문에 이제 로그인을 잊어 버렸습니다. 평소 로그인이 작동하지 않습니다.
현재 데이터베이스없이 설정되어 있으므로 사용자 이름이 어딘가에 파일에 있기를 바랐지만 지금까지는 찾을 수 없었습니다.
작동하지 않는 경우 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.log 파일에있는 "슈퍼 사용자 인증 토큰"의 마지막 항목을 암호로 사용하기 만하면됩니다.
자세한 내용은 다음을 참조하십시오.
- TeamCity 8- http: //confluence.jetbrains.com/display/TCD8/Super+User
- TeamCity 9- http: //confluence.jetbrains.com/display/TCD9/Super+User
- TeamCity 10- https: //confluence.jetbrains.com/display/TCD10/Super+User
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)
이것이 다른 사람들에게도 혼란 스러울 경우.
TeamCity 데이터 디렉터리 ( $/.BuildServer
기본 디렉터리)를 제거하여 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가 아닌 관리자 프로필 아래에 배치했습니다.
특히 Windows의 Tomcat에서 실행되는 TeamCity의 경우 C : \ ProgramData \ JetBrains \ TeamCity입니다.
마지막 매개 변수로 지정된 디렉토리는 데이터 디렉토리 여야합니다 (/logs/teamcity-server.log에서 찾을 수 있음).
이 정보가 정확하지 않으면 '테이블을 찾을 수 없음'오류가 표시됩니다.
TeamCity를 실행중인 경우 '데이터베이스가 이미 사용 중입니다'오류가 표시됩니다.
/logs/teamcity-server.log를 검색하여 관리자, 관리자 또는 다른 관리자 사용자 이름을 만들 었는지 확인할 수도 있습니다.
내가 방금 한 것처럼 원래 답변이 있은 지 몇 년 후에이 기사에 도착할 수있는 모든 사람을 위해 내장 된 슈퍼 사용자 계정이 있으며 팀 시티가 시작될 때마다 암호가 다시 생성되고 암호가 로그에 있습니다. 이 수퍼 유저를 사용하여 로그인하고 비밀번호를 재설정 할 수 있습니다. 아주 쉽습니다.
https://confluence.jetbrains.com/display/TCD9/Super+User
TeamCity는 항상 데이터베이스를 사용합니다. 명시 적으로 구성하지 않은 경우 HSQLDB 데이터베이스를 사용하여 내부적으로 데이터를 저장합니다 .
외부 데이터베이스를 사용할 때 사용자 정보는 해당 데이터베이스에 저장되므로 귀하의 경우 사용자 정보가 HSQLDB 시스템에 저장 될 가능성이 높습니다.
데이터베이스를 사용하여 시스템에 액세스 할 수 있지만 먼저 백업을 수행하는 것이 좋습니다.
두 번째 제안-JetBrains의 지원 담당자에게 이메일을 보내십시오. 제 직장이 TeamCity Enterprise 라이선스를 사용하기 전에도 그들의 지원은 훌륭했습니다. 빠르고 정확하며 도움이되었습니다.
MySQL을 사용하는 TeamCity 5 (아마도 다른 버전과 RDBM도 있지만 테스트되지 않음)를 사용하면 SQL을 통해 직접 비밀번호를 업데이트 할 수 있습니다.
mysql> update users set password = md5("mypass123") where username = "bob";
그럼에도 불구하고, 그렇게하지 않을 타당한 이유가 없다면 다른 사람들이 이미 언급 한 CLI 버전을 고수 할 것입니다.
첫 번째 요점은 로그인 화면에 사용자 이름 'TCAdmin'이 이미 입력되어있는 경우 'administrator'여야합니다. TCAdmin은 기본 버전 5 관리자 사용자의 전체 이름입니다. 관리자로 변경 한 다음 암호를 사용하여 문제가 해결되었다고 생각했습니다.
For resetting... In case it helps someone else on Windows XP on version 5 of TeamCity, my .BuildServer config info was also under my current logged in user's documents and settings folder. Also I was tripped up by a space in the list of jar files in Sebastien's good answer above.
So I changed to this directory in a command prompt:
c:\teamcity\webapps\ROOT\WEB-INF\lib
and then this command line (to set password: Password1) worked for me:
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
Which gave output:
Using TeamCity configuration directory path: C:/Documents and Settings/tamw/.BuildServer
Password changed successfuly
- Stop teamcity
- You should pass path to your buildserver e.g. if you installed build server to dir "c:\.BuildServer"
........\jre\bin\java.exe -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword username newpassword c:\.BuildServer
Here's what worked for me.
Shut down server services
> cd c:\TeamCity\webapps\ROOT\WEB-INF\lib>
then
> ..\..\..\..\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\
Without the path at the end, it would fail with:
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)
We are using Teamcity 7 with MS SQL Server as the RDBMS.
To reset your password you can use the following query:
UPDATE users SET password = LOWER(SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES('md5','your_new_password')),3,32))
where username = "your_user_name";
To change user password:
Shutdown server
Switch to the /webapps/ROOT/WEB-INF/lib directory
Invoke the following command:
Windows platform: java -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword
Unix platform: java -cp server.jar:common-api.jar:commons-codec-1.3.jar:util.jar:hsqldb.jar ChangePassword
You can skip the option, if you are using default path for TeamCity data files: /.BuildServer
[Ref: http://confluence.jetbrains.com/display/TCD7/Changing+user+password+with+default+authentication+scheme]
Alternatively, You could use the TeamCity Server Log and retrieve the Super User token.
Using the token, go to the URL : http://(server):(port)/login.html?super=1
ie: http://localhost:92/login.html?super=1
Once you logged in, you could always create a new user or reset the password for the account in question.
Super user direct URL :
http://servername:port/login.html?super=1
Open TeamCity log folder (Example C: drive: C:\TeamCity\logs) : teamcity-server.log, find the key: “Super user authentication”
[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)
I passed in the same situation and did login with super user, follow steps below:
1 - Get Token in the "teamcity-server.log" in the path "XX:\TeamCity\logs";
2 - Access and login using token at url: "/login.html?super=1";
More about it:
https://confluence.jetbrains.com/display/TCD18/Super+User
참고URL : https://stackoverflow.com/questions/506115/teamcity-forgotten-admin-password-where-to-look
'Programing' 카테고리의 다른 글
Pandas / matplotlib 막대 그래프 사용자 지정 색상을 제공하는 방법 (0) | 2020.11.14 |
---|---|
안드로이드 활동에 창 com.android.internal.policy.impl.phonewindow $ decorview가 유출되었습니다. (0) | 2020.11.14 |
SQL WHERE-Clause의 집계 함수 (0) | 2020.11.14 |
.NET 4.5로 업그레이드 한 후 iFrame 파서 오류 (0) | 2020.11.14 |
R에서 참조로 전달할 수 있습니까? (0) | 2020.11.14 |