2014-02-20 2 views
2

Windows Agent에서 Linux로 연결하는 SSH 로그인을 설정했지만 TeamCity에서 다음과 같은 오류가 발생합니다.Teamcity SSH 개인 키 로그인 실패 : 잘못된 개인 키

[새 빌드 문제] com.jcraft.jsch.JSchException : 무효의 PrivateKey : [B의 @ 5543cd

SSH 보안 셸에 의해 생성 된 키 쌍은 서버에 연결 문제가 없습니다.

비슷한 질문은 here이지만 프로그래밍 방식의 문제는 아니지만 팀장 내부 예외입니다.

내 문제는 GitHub VCS 연결 문제의 경우가 아닙니다. 내 Windows TeamCity 에이전트와 CentOS Linux 서버 간의 문제.

전체 스택 추적은 다음과 같습니다.

[단계 6/8] com.jcraft.jsch.JSchException 잘못된의 PrivateKey [com.jcraft.jsch.KeyPair.load (KeyPair.java:702)에서의 B의 @ 5543cd com.jcraft.jsch에서 co.jcraft.jcraft.jsch.IdentityFile.newInstance (IdentityFile.java:40)에서 .KeyPair.load (KeyPair.java:542) com.jcraft.jsch.JSch.addIdentity (JSch.java:389)에서 com.jcraft. jetbrains.buildServer.deployer.agent.ssh.SSHSessionProvider.initSessionKeyFile (SSHSessionProvider.java:110) at jetbrains.buildServer.deployer.agent.ssh.SSHSessionProvider. (SSHSessionProvider.java (SSHSessionProvider.java:110))의 jsch.JSch.addIdentity (JSch.java:349) : 80) at jetbrains.buildServer.deployer.agent.ssh.SSHExecRunner.createBuildProcess (SSHExecRunner.java:26) jetbrains.buildServer.agent.impl.runner.CallRunnerService.doCreateBuildProcess (CallRunnerService.java:71) at jetbrains.buildServer. agent.impl.runner.CallRunnerService.createBu ildProcess (CallRunnerService.java:47) at jetbrains.buildServer.agent.impl.buildStages.runnerStages.start.CallRunnerStage.doBuildStage (CallRunnerStage.java:47) at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor $ 1.callStage (RunnerStagesExecutor .java : 25) at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor $ 1.callStage (RunnerStagesExecutor.java:18) at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.callRunStage (StagesExecutor.java:78) at jetbrains .buildServer.agent.impl.buildStages.StagesExecutor.doStages (StagesExecutor.java:37) at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor.doStages (RunnerStagesExecutor.java:18) at jetbrains.buildServer.agent.impl.buildStages .startStages.steps.RunnerContextExecutor.callRunnerStages (RunnerContextExecutor.java:43) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.StepExecutor.processNextStep (StepExecutor.java:25) at jetbrains.buildServer.agent.impl.buildStages .startStages.st eps.ForEachBuildRunnerStage.executeRunnerStep (ForEachBuildRunnerStage.java:138) (jetBrains.buildServer.agent.impl.buildStages.startStages)에서 jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.runStep (ForEachBuildRunnerStage.java:123)을 실행하십시오. jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor $ 1의 jetBrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.doBuildStage (ForEachBuildRunnerStage.java:44)의 steps.ForEachBuildRunnerStage.executeBuildRunners (ForEachBuildRunnerStage.java:83) .callStage (BuildStagesExecutor.java:31) at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor $ 1.callStage (BuildStagesExecutor.java:24) at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.callRunStage (StagesExecutor.java : 78) at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.doStages (StagesExecutor.java:37) at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor.doStages (BuildStagesExecuto JetBrains.buildServer.agent.impl.BuildRunAction.runBuild (BuildRunAction.java:50) at jetbrains.buildServer.agent (buildRunAction.java:70)에서 jetbrains.buildServer.agent.impl.BuildRunAction.doStages jetbrains.buildServer.agent.impl.BuildAgentImpl.access $ 100 (BuildAgentImpl.java:50) at jetbrains.buildServer.agent.impl.BuildAgentImpl $ 1.run (BuildAgentImpl.java) .impl.BuildAgentImpl.doActualBuild (BuildAgentImpl.java:263) : 236) at java.lang.Thread.run (Thread.java : 744)

+0

당신은 당신이 키를 생성하는 방법을 귀하의 질문에 구체적으로 설명하기 위해 편집 할 수 있으며, 사용자가 설정 한 특정 어떤 파일 인 TeamCity는 키를 읽어? – Kenster

답변

1

아마도 여러분이 제공하는 개인 키의 형식은 JSCH가 기대하는 형식 (예 : OpenSSH)이 아닙니다.

비슷한 질문과 대답은 여기에 제공됩니다 JSCH - Invalid private key

+0

이미 Putty Export OpenSSH를 사용해 보았습니다. 아직 해결하지 못했습니다. – Youngjae