"Gerrit: replicate: no encontrado" incluso después de instalar el complemento de replicación

Estoy usando gerrit para la revisión de código y uso el complemento de replicación para mantener el repository en synchronization con github.com.

Pero, la replicación no está funcionando. Me arroja un error:

[2014-01-16 11:23:04,694] ERROR com.googlesource.gerrit.plugins.replication.ReplicationQueue : Cannot replicate to git@github.com:visitvinoth/gerrit_prj_1.git org.eclipse.jgit.errors.TransportException: git@github.com:visitvinoth/gerrit_prj_1.git: reject HostKey: github.com at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:142) at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:121) at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:248) at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:147) at com.googlesource.gerrit.plugins.replication.PushOne.listRemote(PushOne.java:468) at com.googlesource.gerrit.plugins.replication.PushOne.doPushAll(PushOne.java:416) at com.googlesource.gerrit.plugins.replication.PushOne.generateUpdates(PushOne.java:409) at com.googlesource.gerrit.plugins.replication.PushOne.pushVia(PushOne.java:357) at com.googlesource.gerrit.plugins.replication.PushOne.runImpl(PushOne.java:340) at com.googlesource.gerrit.plugins.replication.PushOne.runPushOperation(PushOne.java:267) at com.googlesource.gerrit.plugins.replication.PushOne.access$000(PushOne.java:78) at com.googlesource.gerrit.plugins.replication.PushOne$1.call(PushOne.java:240) at com.googlesource.gerrit.plugins.replication.PushOne$1.call(PushOne.java:237) at com.google.gerrit.server.util.RequestScopePropagator$5.call(RequestScopePropagator.java:222) at com.google.gerrit.server.util.RequestScopePropagator$4.call(RequestScopePropagator.java:201) at com.google.gerrit.server.git.PerThreadRequestScope$Propagator$1.call(PerThreadRequestScope.java:75) at com.googlesource.gerrit.plugins.replication.PushOne.run(PushOne.java:237) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:360) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: com.jcraft.jsch.JSchException: reject HostKey: github.com at com.jcraft.jsch.Session.checkHost(Session.java:780) at com.jcraft.jsch.Session.connect(Session.java:342) at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116) ... 25 more 

Ya he registrado la key RSA del usuario gerrit en github.com en mi count.

Cuando bash disparar el command replicar manualmente

 ssh -p 29412 vinoth@xxx.xxx.xx.xx gerrit replicate gerrit_prj_1 

Me sale el error,

 gerrit: replicate: not found 

Por favor ayuda

Si tiene acceso al server de Gerrit , puede usar la respuesta de StephenKing y agregar un file ~/.ssh/config que especificará dónde está la key para usar:

 Host github.com User git IdentityFile /path/to/the/private/key StrictHostKeyChecking no UserKnownHostsFile /dev/null 

Pero si usó los id_rsa pnetworkingeterminados id_rsa e id_rsa.pub (que deberían haber sido recogidos por ssh), entonces verifique en el mismo server de Gerrit el valor de $HOME , como mencioné en una respuesta anterior .

Como StephenKing menciona en los comentarios :

La parte del post de error para ayudar a identificar el problema se rechaza HostKey: github.com .

Si ssh no encuentra id_rsa(.pub) en $HOME/.ssh , entonces busca un file ~/.ssh/config con una input " github.com " que le diga a ssh dónde encontrar el correcto ssh key para conectarse al server representado por " github.com ".


El problema fue:

Desde que comencé a usar gerrit con sudo, estaba ejecutándose como root. ahora cambio y funciona bien

Entonces, si las keys se registraron en un usuario HOME , no fueron visibles por un process iniciado por la raíz.