2016-03-18 2 views
2

Je souhaite ajouter ma clé SSH aux clés autorisées sur un serveur git (un serveur d'entreprise), pour ne pas avoir à insérer mon mot de passe à chaque fois Je pousse. Cependant, pour une raison quelconque, je ne peux pas faire fonctionner cela.Comment insérer une clé SSH sur un serveur Git (accès git-shell uniquement)

Ce que j'ai essayé:

ssh-copy-id [email protected] 
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed 
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys 
[email protected]'s password: 
fatal: unrecognized command ' 
     umask 077 ; 
     mkdir -p .ssh && cat >> .ssh/authorized_keys || exit 1 ; 
     if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi' 

Lorsque je tente de ssh sur le serveur git, je reçois la réponse suivante:

fatal: Interactive git shell is not enabled. 
hint: ~/git-shell-commands should exist and have read and execute access. 

Apparemment, le compte utilisateur utilise git-shell et il semble que ne comprend pas les commandes shell habituelles.

Est-il encore possible d'ajouter la clé publique SSH au compte d'utilisateur du serveur git? Est-ce qu'il y a peut-être une commande git qui me permettrait de mettre ma clé publique SSH à la liste?

Le seul accès que j'ai au serveur git est via la ligne de commande et il y a l'interface GitWeb en cours d'exécution (mais là je ne vois aucune option pour installer la clé SSH non plus).

+0

Si vous avez seulement donné accès shell git, je suppose que vous allez avoir du mal à ajouter une clé ssh. Avez-vous parlé à sysadmin/mainteneur de serveur de votre entreprise? – Holloway

+0

Pas encore, j'ai essayé de comprendre cela en premier. Mais il semble qu'il n'y a pas d'autre option, alors je vais vérifier avec eux. – axalis

Répondre

1

vous devez contacter votre administrateur système, assurez-vous que l'utilisateur home perm permisson sans autorisation d'écriture pour les autres.

et /home/user/.ssh conseils d'autorisation pour être son groupe et ownwer lui-même avec 0700, et l'autorisation /home/user/authorized_keys0600.

Je suppose que le groupe user est git.

# cd /home/user 
# chown -R user:git .ssh 
# chmod 0700 .ssh 
# chmod 0600 .ssh/authorized_keys 

Si ce fichier (.ssh/authorized_keys), le ~/.ssh directory ou le répertoire personnel de l'utilisateur sont inscriptibles par d'autres utilisateurs, le fichier pourrait être modifié ou remplacé par des utilisateurs non autorisés. Dans ce cas, sshd ne permettra pas son utilisation à moins que l'option StrictModes ait été réglée sur "non".

Plus infomation juste voir man 8 sshd