Création de clés SSH pour Gerrit et Hudson
-
02-10-2019 - |
Question
Je suis en train d'utiliser le plug-in Hudson
Gerrit Trigger
.
Pour une raison quelconque, Gerrit
n'accepte pas la clé de SSH
situé à /var/lib/hudson/.ssh/id_rsa
.
Dans l'interface graphique Je reçois Connection error : com.jcraft.jsch.JSchException: Auth fail
comme une erreur, et quand je travaille dans le terminal Je reçois une erreur de Permission denied (publickey)
.
Comment puis-je générer et utiliser une clé privée de travail afin Hudson
et Gerrit
peuvent jouer bien?
La solution
L'OP Josh Smith a réussi à le tri:
Je réellement nécessaire d'ajouter la touche
SSH
de/var/lib/hudson/.ssh/id_rsa.pub
pour l'utilisateur (me) dans l'interface graphique Gerrit.
Puis, de là, il a travaillé comme un charme.
Le nom d'utilisateur doit être le nom d'utilisateur dans Gerrit (le compte admin).
Mon conseil est d'origine ci-dessous:
Qu'est-ce que l'utilisateur qui utilisera le code basé sur le Web système d'examen Gerrit?
Cet utilisateur a besoin de votre clé ssh publique /var/lib/hudson/.ssh/id_rsa.pub
dans son $HOME/.ssh/authorized_keys
, comme illustré dans ce guide .
distribution de clés
La partie publique de la paire de clés RSA doit être copié sur tous les serveurs qui seront accessibles par le client. Les informations clé publique à copier doit être situé dans le fichier
~/.ssh/id_rsa.pub
sur le client.
En supposant que tous les serveurs utilisent OpenSSH au lieu d'une autre application SSH, les données clés publiques doivent être ajoutées dans le fichier~/.ssh/authorized_keys
sur les serveurs.
# first, upload public key from client to server
client$ scp ~/.ssh/id_rsa.pub server.example.org:
# next, setup the public key on server
server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub
Assurez-vous d'ajouter de nouvelles données de clé publique dans le fichier authorized_keys, comme plusieurs clés publiques peuvent être utilisés. Chaque entrée à clé publique doit être sur une autre ligne.