2010-05-06 8 views
3

Je tente de déployer une application dans slicehost à l'aide de Capistrano. Je peux connecter via SSH en utilisant les mêmes informations d'identification, mais lorsque je tente de le déployer i l'erreur suivante:Erreur Capistrano lors du déploiement sur l'hôte de partition

  • exécutant `Déployez '
  • exécutant` deploy: mise à jour' ** transaction: start
  • exécutant `deploy: update_code » mettre à jour la caisse mis en cache sur tous les serveurs exécutant localement : "ls-distance git [email protected]: maître xxx.git"
  • exécution « si [-d/home/sdn/shared/cached-copy], puis cd/home/xxx/shared/cache-copy & & git fetch -q origine & & git réinitialisation -q --hard 910a97024a45f1304d6b50c8862605ea0f1cf829 & & git clean -q -d -x -f; autre clone git -q [email protected]: xxx.git/home/xxx/shared/copie en cache & & cd/home/xxx/shared/cache-copie & & git checkout -b -q déployer 910a97024a45f1304d6b50c8862605ea0f1cf829; fi " serveurs: [" 173.203.79.208 "] *** [deploy: code_de_modification] annulation
  • en cours d'exécution" rm -rf/home/xxx/releases/20100506160548; true " serveurs: [" 173.203.79.208 "] ** [deploy: code_actuel] exception lors de l'annulation: Capistrano :: ConnectionError, la connexion a échoué pour: 173.203.79.208 (Net :: SSH :: Disconnect: connexion fermée à distance hôte) connexion a échoué pour: 173.203.79.208 (net :: SSH :: Déconnexion: connexion fermée par l'hôte distant)

Qu'est-ce que je fais mal est tout ce que je devrais ajouter à mon fichier deploy.rb pour

+0

sur mes attente journaux de serveur, je reçois les éléments suivants: 6 mai 16:44:08 Arena sshd [14952]: refused connect de 186.28.30.49 (186.28.30.49) 6 mai 16:44:13 Arena sshd [14957]: refusé de se connecter de 186.28.30.49 (186.28.30.49) –

Répondre

1

Slicehost est-il autorisé à cloner un dépôt à partir de votre serveur git? Si votre serveur git requiert une authentification ssh, vous devrez générer des clés ssh sur votre hôte et mettre votre serveur hôte clé ublic sur votre serveur git.

Si ce n'est pas le cas, alors il semble que ce soit quelque chose d'autre lié à l'exécution de git sur votre hôte. Mais "(Net :: SSH :: Disconnect: connexion fermée par un hôte distant)" ressemble à un problème d'authentification.

0

Vous pouvez pouvez générer une clé sur votre serveur comme le suggère Clinton, ou vous pouvez activer le transfert d'agent SSH. Cela signifie que vous n'aurez pas à générer de nouvelle clé SSH sur votre serveur, ce qui signifie que vous ne devrez pas générer de nouvelle clé SSH. Vous utilisez déjà la clé sur la machine à partir de laquelle vous déployez et la clé est transmise pour être utilisée sur le serveur pour se connecter à votre serveur git.

Vous pouvez ajouter ssh_options[:forward_agent] = true à votre recette de Capistrano ou ajouter une configuration hôte à votre ~/.ssh/config comme ceci:

Host <name> 
    HostName <ip or host> 
    User <username> 
    IdentityFile ~/.ssh/<filename> 
    ForwardAgent yes 

Je préfère le plus tard.

Il y a une très guide complet de SSH sur transitaire à www.unixwiz.net

1

J'ai le même problème.Je crée déjà le fichier .ssh dans le railsu et git. Mais aussi ce problème ici. Donc je ne pense pas que cette erreur soit un problème d'authentification.

Questions connexes