web-dev-qa-db-ja.com

TeamCityが管理者パスワードを忘れた-どこを探しますか?

JetBrainのTeamCityの管理者パスワードを回復/リセットする必要があります。

サーバーへの完全なRDPアクセスがあるため、問題はありません。使用してから2か月しか経っていないので、ログインを忘れてしまいました。通常のログインは機能しません。

現時点ではデータベースなしでセットアップされているため、ユーザー名がファイル内のどこかにあることを期待していましたが、これまでのところうまくいきません。

65
Schneider

これらのいずれも機能しない場合は、 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
42

TeamCity 8からスーパーユーザーとしてログインし、そのようにパスワードを変更できます。空のユーザー名と、logs\teamcity-server.logファイルにある「スーパーユーザー認証トークン」の最後の出現をパスワードとして使用するだけです。

詳細については、次を参照してください。

78
tentonipete

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)

これが他の人をも混乱させる場合に。

5
Andrew Myhre

TeamCityデータディレクトリ($/.BuildServerディレクトリはデフォルトで)

4
VonC

以下を試してください:

最初にTeamCityサービスを停止します(インストールされている場合はビルドエージェントも停止します)。次にコンソールを開き、Javaディレクトリに移動し、そこから次のコマンドを実行します。

Java.exe -cp server.jar; hsqldb.jar ChangePassword USERNAME PASSWORD "PATH_TO_YOUR_TEAMCITY_INSTALLATION".BuildServer
3
Flo

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をインストール場所に置き換える必要があります。

3
Brian Hinchey

具体的には、Windows上のTomcatで実行されているTeamCityの場合、C:\ ProgramData\JetBrains\TeamCityになります。

最後のパラメーターとして指定されたディレクトリは、データディレクトリである必要があります(/logs/teamcity-server.logにあります)

これが正しくない場合、「テーブルが見つかりません」というエラーが表示されます。

TeamCityを実行している場合、「データベースは既に使用されています」というエラーが表示されます。

/logs/teamcity-server.logを検索して、管理者、管理者、またはその他の管理者ユーザー名を作成したかどうかを確認することもできます。

2

これが私のサーバーにTeamCityをインストールした誰かがC:\ TeamCityではなく、管理者のプロファイルの下にビルドディレクトリを配置した場合に役立ちます。

2
strattonn

元の回答から数年後にこの記事にたどり着く可能性のあるすべてのユーザーには、組み込みのスーパーユーザーアカウントがあり、パスワードはチームシティが開始されるたびに再生成され、パスワードはログに記録されます。このスーパーユーザーを使用して、ログインしてパスワードをリセットできます。とても簡単です。

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

2
arri.io

TeamCityは常にデータベースを使用します-明示的に設定していない場合は、 HSQLDBデータベースを使用してデータを内部に保存します

外部データベースを使用する場合、ユーザー情報はそのデータベース内に保存されるため、ケースのユーザー情報はHSQLDBシステム内に保存される可能性が高いようです。

データベースをいじってシステムにアクセスできるかもしれませんが、最初にバックアップを取ることをお勧めします。

2番目の提案-JetBrainsのサポート担当者にメールを送信します。私の職場がTeamCity Enterpriseライセンスに飛び付く前でさえ、彼らのサポートは素晴らしかった-迅速、正確、そして有用でした。

1
Bevan

これが私のために働いたものです。

サーバーサービスをシャットダウンする

> 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)
1
Adam Maloney

最初のポイントは、ログイン画面でユーザー名「TCAdmin」が「administrator」になっているときにログアウトした場合です。 TCAdminは、デフォルトのバージョン5管理ユーザーのフルネームです(私が思うに)。それを管理者に変更してからパスワードを使用すると、問題が解決したと思いました。

リセットの場合... Windows上の他の誰かに役立つ場合XP、私の.BuildServer構成情報は、現在ログインしているユーザーのドキュメントおよび設定フォルダーの下にもありました。上記のSebastienの良い答えの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
TamW

MySQLを使用するTeamCity 5(おそらく他のバージョンとRDBMでもテストされていない)を使用すると、SQLを介してパスワードを直接更新できます。

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

それでも、そうしない理由がない場合は、他の人が既に言及したCLIバージョンを使用します。

1
sfussenegger

Teamcity 7とMS SQL ServerをRDBMSとして使用しています。

パスワードをリセットするには、次のクエリを使用できます。

UPDATE users SET password = LOWER(SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES('md5','your_new_password')),3,32))
 where username = "your_user_name";
1
Zafer
  1. チームシティを停止
  2. ビルドサーバーにパスを渡す必要があります。ビルドサーバーを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

1
syned

スーパーユーザーの直接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)
0
Tiago Medici

同じ状況で合格し、スーパーユーザーでログインしました。以下の手順に従ってください。

1-パス「XX:\ TeamCity\logs」の「teamcity-server.log」でトークンを取得します。

2-URLのトークンを使用したアクセスとログイン: "/login.html?super=1";

それについての詳細:

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

0
Ramon Freitas

ユーザーのパスワードを変更するには:

シャットダウンサーバー

/ 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]

0
Say2Manuj

または、TeamCityサーバーログを使用して、スーパーユーザートークンを取得することもできます。

トークンを使用して、URLに移動します。 http://(server):(port)/login.html?super=1

すなわち: http:// localhost:92/login.html?super = 1

ログインしたら、いつでも新しいユーザーを作成したり、問題のアカウントのパスワードをリセットしたりできます。

0
Lankan