.ssh config avec amazon ec2 et git
J'ai un problème étrange de cloner un dépôt git à partir d'une instance amazon ec2 serveur. Il fonctionne sans aucun problème sur un de mes ordinateurs sous ubuntu 12.04, tandis que sur l'autre à l'aide de 12.10 il me donne une erreur:
ssh: Could not resolve hostname ec2server: Name or service not known
fatal: The remote end hung up unexpectedly
C'est comme c'est de ne pas reconnaître mon fichier de config. J'utilise la suite commande git clone :
sudo git clone ec2server:/var/www/project.git
ou
sudo git clone ec2xxx.compute-1.amazonaws.com:/var/www/project.git
Les deux fichiers de configuration sont identiques sur les deux ordinateurs, à l'intérieur de la ~./ssh avec le contenu suivant:
Host ec2server
Hostname ec2XXX.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/mykey.pem
Si je remplacer le ec2server avec l'adresse réelle j'obtiens l'erreur suivante:
Cloning into 'project'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Merci d'avance.
OriginalL'auteur Pio | 2013-01-20
Vous devez vous connecter pour publier un commentaire.
Il s'agit généralement d'un problème d'autorisation.
Le
chmod
sur les répertoires parents de votre fichier de configuration peut être différente entre vos deux ordinateurs.(et je ne parle pas seulement le parent immédiat répertoire
.ssh
, mais aussi tous les répertoires parents)Voir "Git authentification SSH", mais nous savons aussi que si l'un des répertoires parents est accessible en écriture pour le groupe ou dans le monde, ssh ne fonctionne pas.
Note également que votre deuxième commande n'est pas droit, et doit être:
pas de "
:
' (un ":
" signifie à l'aide d'unconfig
fichier, avec unscp
syntaxe)il ne peut fonctionner que si vous avez
~/.ssh/id_rsa
et~/.ssh/id_rsa.pub
.Si vous avez des maclé.pem, alors vous besoin un
config
fichier par ssh pour savoir où sont vos clés publique et privée, ce qui veut dire qu'il peut fonctionner:Un autre chack (après ce fil et ce forum) est de vérifier si il n'y a aucune DNS/DHCP question (un peu comme dans "Travailler avec git derrière un DNS dynamique").
Vous dire que votre
config
fichier dans/home/yourLogin
, au lieu de/home/yourLogin/.ssh
?voir stackoverflow.com/a/10042145/6309 ou stackoverflow.com/a/8172628/6309 pour des exemples de fichiers de configuration de ssh.
Il est ~/.ssh/config
Après la lecture de 100 articles différents, à l'aide de "git clone ec2server:/var/www/projet.git" résolu pour moi. JE VOUS REMERCIE.
OriginalL'auteur VonC
Récemment, j'ai dû ré-installer le système, qui a tenu le travail de configuration et je n'ai pas réussi à le reproduire, il n'est donc pas à propos de la version de linux (très probable). Ce que j'ai réussi à faire, c'est que j'ai réussi à utiliser le mentionné script original de cloner le dépôt dans mon répertoire home. Ici, il a pris le nom correctement, mais si je navigue dans /var/www, ce que je faisais avant, il m'a donné la même erreur: peut ec2server pas trouvé ... . Donc je me dis que le problème doit faire quelque chose avec les autorisations + commandes combinaison. Si quelqu'un peut comprendre comment le faire fonctionner, j'indique qu'il est la réponse comme une réponse correcte, jusque-là, je suis marquage mine correct, puisque c'est le plus proche de la corriger.
Mise à JOUR
J'ai compris quel était le problème: j'ai dû changer les permissions de /var/www dossier afin d'être en mesure de cloner dans ce répertoire. Maintenant, il est de 777 ( utilisé uniquement pour les dev sur une machine locale).
OriginalL'auteur Pio