cap deploy изведнъж казва Authentication Failed

Внедрявам приложението си Symfony2 безпроблемно от седмици, използвайки Capifony. Онзи ден пуснах cap deploy и нищо не работи. Не съм променил никакви ключове или, съзнателно, други настройки.

Внедрявам от моето битбъкет репо.

Проверих разрешенията за файлове и собствеността навсякъде.

/var/git/.ssh/authorized_keys разрешения 600 потребител git

/var/git/.ssh/known_hosts разрешения 640 потребител git

/var/git/.ssh/config разрешения 700 потребител git:

Host bitbucket.org
 Hostname bitbucket.org
 ForwardAgent yes
 ForwardX11 no
 User git
 IdentityFile /var/git/.ssh/bitbucket_rsa

Мога да вляза със същия публичен ключ на bitbucket от моята локална машина към производствения сървър. Пробвах с различен ключ.

Преинсталирах ruby ​​(1.9.3). Опитах Capifony 2.4.2 и се опитах да се върна към по-ранна версия (2.4.0 и Capistrano 2.15.5).

Нищо не реши проблема.

в deploy.rb:

set :repository,  "[email protected]:username/example.git"
set :scm,         :git

ssh_options[:forward_agent] = true
ssh_options[:verbose] = :debug
ssh_options[:keys] = %w(/var/git/.ssh/bitbucket_rsa)

Изпълнява се cap deploy:check

* ←[32m2014-02-04 09:20:30 executing `deploy:check'←[0m
* ←[33mexecuting "test -d /var/www/vhosts/example.com/releases"←[0m
servers: ["example.com"] D, 
[2014-02-04T09:20:30.140652 #11708] DEBUG -- net.ssh.transport.session[15bfe8c]: 
establishing connection to example.com:22
D, [2014-02-04T09:20:30.320662 #11708] DEBUG -- net.ssh.transport.session[15bfe8c]:
connection established
I, [2014-02-04T09:20:30.320662 #11708]  INFO -- net.ssh.transport.server_version 
[15bf274]: negotiating protocol version
D, [2014-02-04T09:20:30.469671 #11708] DEBUG -- net.ssh.transport.server_version
[15bf274]: remote is `SSH-2.0-OpenSSH_5.3'
D, [2014-02-04T09:20:30.470671 #11708] DEBUG -- net.ssh.transport.server_version
[15bf274]: local is `SSH-2.0-Ruby/Net::SSH_2.8.0 i386-mingw32'
D, [2014-02-04T09:20:30.530674 #11708] DEBUG -- tcpsocket[15bfb5c]: read 784 bytes
D, [2014-02-04T09:20:30.530674 #11708] DEBUG -- tcpsocket[15bfb5c]: received packet nr 
0 type 20 len 780
I, [2014-02-04T09:20:30.530674 #11708]  INFO -- net.ssh.transport.algorithms[15bb0b0]: 
got KEXINIT from server
I, [2014-02-04T09:20:30.530674 #11708]  INFO -- net.ssh.transport.algorithms[15bb0b0]: 
sending KEXINIT
D, [2014-02-04T09:20:30.531675 #11708] DEBUG -- tcpsocket[15bfb5c]: queueing packet nr 
0 type 20 len 1620
D, [2014-02-04T09:20:30.531675 #11708] DEBUG -- tcpsocket[15bfb5c]: sent 1624 bytes
I, [2014-02-04T09:20:30.531675 #11708]  INFO -- net.ssh.transport.algorithms[15bb0b0]: 
negotiating algorithms
D, [2014-02-04T09:20:30.531675 #11708] DEBUG -- net.ssh.transport.algorithms[15bb0b0]: 
negotiated:
* kex: diffie-hellman-group-exchange-sha1
* host_key: ssh-rsa
* encryption_server: aes128-cbc
* encryption_client: aes128-cbc
* hmac_client: hmac-sha1
* hmac_server: hmac-sha1
* compression_client: none
* compression_server: none
* language_client:
* language_server:
D, [2014-02-04T09:20:30.532675 #11708] DEBUG -- net.ssh.transport.algorithms[15bb0b0]: 
exchanging keys
D, [2014-02-04T09:20:30.532675 #11708] DEBUG -- tcpsocket[15bfb5c]: queueing packet nr 
1 type 34 len 20
D, [2014-02-04T09:20:30.532675 #11708] DEBUG -- tcpsocket[15bfb5c]: sent 24 bytes
D, [2014-02-04T09:20:30.652681 #11708] DEBUG -- tcpsocket[15bfb5c]: read 152 bytes
D, [2014-02-04T09:20:30.652681 #11708] DEBUG -- tcpsocket[15bfb5c]: received 
packet nr 1 type 31 len 148
D, [2014-02-04T09:20:31.893752 #11708] DEBUG -- tcpsocket[15bfb5c]: queueing packet nr 
2 type 32 len 140
D, [2014-02-04T09:20:31.893752 #11708] DEBUG -- tcpsocket[15bfb5c]: sent 144 bytes
D, [2014-02-04T09:20:31.964757 #11708] DEBUG -- tcpsocket[15bfb5c]: read 720 bytes
D, [2014-02-04T09:20:31.964757 #11708] DEBUG -- tcpsocket[15bfb5c]: received packet nr 
2 type 33 len 700
D, [2014-02-04T09:20:31.968757 #11708] DEBUG -- tcpsocket[15bfb5c]: queueing packet nr 
3 type 21 len 20
D, [2014-02-04T09:20:31.968757 #11708] DEBUG -- tcpsocket[15bfb5c]: sent 24 bytes
D, [2014-02-04T09:20:31.968757 #11708] DEBUG -- tcpsocket[15bfb5c]: received packet nr 
3 type 21 len 12
D, [2014-02-04T09:20:31.969757 #11708] DEBUG -- 
net.ssh.authentication.session[15647f4]: beginning authentication of `git'
D, [2014-02-04T09:20:31.969757 #11708] DEBUG -- tcpsocket[15bfb5c]: queueing packet nr 
4 type 5 len 28
D, [2014-02-04T09:20:31.969757 #11708] DEBUG -- tcpsocket[15bfb5c]: sent 52 bytes
D, [2014-02-04T09:20:32.129766 #11708] DEBUG -- tcpsocket[15bfb5c]: read 52 bytes
D, [2014-02-04T09:20:32.129766 #11708] DEBUG -- tcpsocket[15bfb5c]: received packet nr 
4 type 6 len 28
D, [2014-02-04T09:20:32.129766 #11708] DEBUG -- 
net.ssh.authentication.session[15647f4]: trying none
D, [2014-02-04T09:20:32.130766 #11708] DEBUG -- tcpsocket[15bfb5c]: queueing packet nr 
5 type 50 len 44
D, [2014-02-04T09:20:32.130766 #11708] DEBUG -- tcpsocket[15bfb5c]: sent 68 bytes
D, [2014-02-04T09:20:32.290775 #11708] DEBUG -- tcpsocket[15bfb5c]: read 84 bytes
D, [2014-02-04T09:20:32.290775 #11708] DEBUG -- tcpsocket[15bfb5c]: received packet nr 
5 type 51 len 60
D, [2014-02-04T09:20:32.290775 #11708] DEBUG --     
net.ssh.authentication.session[15647f4]: allowed methods: publickey,gssapi-
keyex,gssapi-with-mic,password
D, [2014-02-04T09:20:32.291775 #11708] DEBUG --     
net.ssh.authentication.methods.none[156bb14]: none failed
D, [2014-02-04T09:20:32.291775 #11708] DEBUG -- 
net.ssh.authentication.session[15647f4]: trying publickey
D, [2014-02-04T09:20:32.291775 #11708] DEBUG -- net.ssh.authentication.agent[15a9f68]: 
connecting to ssh-agent
E, [2014-02-04T09:20:32.292775 #11708] ERROR -- net.ssh.authentication.agent[15a9f68]: 
could not connect to ssh-agent
D, [2014-02-04T09:20:32.292775 #11708] DEBUG -- 
net.ssh.authentication.session[15647f4]: trying password
E, [2014-02-04T09:20:32.292775 #11708] ERROR -- 
net.ssh.authentication.session[15647f4]: all authorization methods failed (tried none, 
publickey, password)
connection failed for: example.com (Net::SSH::AuthenticationFailed: Authentication 
failed for user [email protected])

какво съм пропуснала Полудявам да се опитвам да поправя това.

Благодаря за вашата помощ.


person hipnosis    schedule 04.02.2014    source източник
comment
не може да се свърже с ssh-агент   -  person Alister Bulman    schedule 04.02.2014
comment
Добре, виждам, че това е грешката. Какво е решението? ssh-agent работи и мога да се свържа от моята локална машина, използвайки същия ключ. С какво е различен Капистрано?   -  person hipnosis    schedule 04.02.2014


Отговори (4)


capistrano/capifony (net_ssh, за да бъдем по-точни) се опитва да използва несъществуващ агент, за да се свърже със сървъра и следователно не успява.

Премахване ...

ssh_options[:forward_agent] = true

... и добавете

ssh_options[:use_agent] = false

Не използвате агент (процес, съхраняващ вашите ключове, които ssh може да прави заявки), за да се свържете със сървъра ... което означава, че не можете да го препратите. Вместо това предоставяте публичния ключ на връзката:

ssh_options[:keys] = %w(/var/git/.ssh/bitbucket_rsa)
person Nicolai Fröhlich    schedule 04.02.2014
comment
Въпреки че имам forward_agent зададено на false, просто трябваше да задам пътя до моя RSA ключ - person Francisco Quintero; 11.05.2016

И аз имах същия проблем. Поправих го със следните стъпки.

 >> gem uninstall net-ssh -v 2.8.0
 >> gem install net-ssh -v 2.7.0

и сега, когато извикам методите "cap", той работи перфектно и ме пита за парола.

person Awijeet    schedule 21.02.2014

Мислех, че е опцията forward_agent, но може да е това:

С управлението на ssh-агент Bitbucket използва първия ключ в списъка. Ако все още имате проблеми, опитайте да премахнете всички самоличности, с изключение на тази, с която искате да се свържете

Намерено тук: https://confluence.atlassian.com/display/BITBUCKET/Troubleshoot+SSH+Issues

Трябваше да се отърва от ssh_options[:keys] = %w(/var/git/.ssh/bitbucket_rsa) и да използвам id_rsa по подразбиране, който вече беше зареден преди bitbucket_rsa.

person hipnosis    schedule 05.02.2014

Моят проблем беше:

Не добавих моя ключ id_rsa.pub в ~/.ssh/authorized_keys на моя целеви сървър. След добавяне на ключа работи!

person Abhi    schedule 18.07.2018