SSHKit :: Runner :: ExecuteError
$ bundle exec cap production deploy
(Backtrace restreint à l'importation de tâches) cap abandonnée!
SSHKit::Coureur::ExecuteError:
Exception lors de l'exécution que de Psara@sakura: git statut de sortie: 128 git stdout: Rien d'écrit à git
stderr: Permission denied (publickey).fatal: L'extrémité distante accroché de façon inattendue
SSHKit::Command::Échec:
git statut de sortie: 128
git stdout:Rien d'écrit
git stderr: Permission denied (publickey).
fatal: L'extrémité distante accroché de façon inattendue
Tâches: HAUT => git:vérifier (Voir texte intégral de la trace en cours d'exécution de la tâche avec --trace)
Le déploiement a échoué avec l'erreur suivante:Exception lors de l'exécution que de Psara@sakura:
git statut de sortie: 128 git stdout: Rien d'écrit
git stderr: Permission denied (publickey).
fatal: L'extrémité distante accroché de façon inattendue
*
déployer.rb
ensemble :application 'de Psara'
set :repo_url, '[email protected]:CBLaughter/psara.git'
set :deploy_to, '/home/Psara/Psara'
set :default_run_options, :pty => trueespace de noms :déployer ne
après :redémarrer, :clear_cache faire
sur les rôles (sur le web), dans: :les groupes, limite: 3, attendez: 10
# Ici, nous pouvons faire quelque chose comme:
# dans release_path faire
# exécuter :râteau, "cache:clear"
# fin
fin finfin
ensemble :ssh_options, { forward_agent: true, paranoïaque: true, les clés:
"~/.ssh/id_rsa" }
*
de production.rb
ensemble :stade :la mise en scène
set :rails_env, :production
rôle :app, %w{sakura}
rôle :web, %w{sakura}
rôle :db, %w{sakura}
serveur "sakura", l'utilisateur: 'Psara', rôles: %w{web app}, my_property: >:my_value
ensemble :ssh_options, {
touches: %w(~/.ssh/id_rsa),
forward_agent: false }
Je serais heureux, si vous pouviez m'apprendre ce que je peux faire pour résoudre ce problème.
J'ai déjà ajouté une clé publique sur le bitbucket, mais il ne fonctionne pas.
*
SSH agent de transfert rapport
- [succès]
repo_url
réglage ok- [succès] ssh fichier de clé privée existe
- [succès]
ssh-agent
processus semble être en cours d'exécution localement- [succès]
ssh-agent
processus reconnu parssh-add
commande- [succès] ssh clés privées ajouté à
ssh-agent
- [succès] application du référentiel accessible à partir de la machine locale
- [succès] tous les hôtes utilisant sans mot de passe de connexion
- [succès]
forward_agent
ok pour tous les hôtes- [succès] l'agent ssh a réussi à transmettre à des hôtes distants
- [succès] application du référentiel accessible à partir des hôtes distants
Il semble SSH agent de transfert est correctement configuré! Vous pouvez continuer
avec le processus de déploiement.Elle a réussi tous les tests, mais fait toujours la même erreur.
source d'informationauteur Shion Yamaguchi
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que vous avez ssh-agent en cours d'exécution sur votre machine, parce que vous êtes à l'aide de ssh transfert, vos clés locales devraient être en mesure d'accéder et de cloner votre dépôt de bitbucket. Vous pouvez exécuter l'agent avec:
Plus d'infos sur ssh-transfert vous pouvez trouver ici.
Autre chose que vous devriez vérifier manuellement, c'est que vous pouvez vous en ssh à votre serveur (votre clé publique doit être ajouté à
~/.ssh/authorized_keys
sur le serveur), et bien sûr que vous pouvez cloner votre dépôt local (que probablement vous êtes en mesure de le faire).Mise à jour:
Maintenant, j'ai réalisé que vous activez la redirection de la production, dans ce cas, vous devriez assurez-vous que la paire de clés sur votre serveur (vous devez l'avoir, parce que le transfert est éteint), sont en mesure de cloner le repo de bitbucket, vous pouvez essayer de clonage sur le serveur par la portée de la main.
Comme le backtrace dit, c'est probablement liée à clés publiques ssh. Je recommande la résolution du problème avec capistrano-ssh-médecin. Vous obtiendrez un rapport précisément en disant ce qui n'allait pas dans le setup.
Avertissement, je suis l'auteur de
capistrano-ssh-doctor
plugin.