Ich versuche, dieses einfache Bereitstellungsskript auszuführen, aber beim Ausführen vagrant up
und dann bei vagrant provision
Befehlen treten Fehler auf .
Ich habe gelesen, dass ich eine /etc/ansible/hosts
Datei erstellen musste , die ich erstellt habe.
[vagrant]
192.168.222.111
Meine SSH-Konfiguration (einige Details entfernt):
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/ashleyconnor/.vagrant.d/insecure_private_key
IdentitiesOnly yes
LogLevel FATAL
Host server
HostName XXX.XXX.XXX.XXX
User ash
PreferredAuthentications publickey
IdentityFile ~/.ssh/ash_ovh
Host deployer
HostName XXX.XXX.XXX.XXX
User deployer
PreferredAuthentications publickey
IdentityFile ~/.ssh/deployer_ovh
Host bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/bitbucket
Host github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github
Host staging
HostName 192.168.56.10
User deployer
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Die SSH-Ausgabe, die ich erhalte, scheint alle meine Schlüssel zu durchlaufen:
<192.168.222.111> ESTABLISH CONNECTION FOR USER: vagrant
<192.168.222.111> REMOTE_MODULE setup
<192.168.222.111> EXEC ['ssh', '-C', '-tt', '-vvv', '-o', 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 'ControlPath=/Users/ashleyconnor/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'IdentityFile=/Users/ashleyconnor/.vagrant.d/insecure_private_key', '-o', 'KbdInteractiveAuthentication=no', '-o', 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', '-o', 'PasswordAuthentication=no', '-o', 'User=vagrant', '-o', 'ConnectTimeout=10', '192.168.222.111', "/bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1394317116.44-226619545527061 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1394317116.44-226619545527061 && echo $HOME/.ansible/tmp/ansible-tmp-1394317116.44-226619545527061'"]
fatal: [192.168.222.111] => SSH encountered an unknown error. The output was:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/ashleyconnor/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug1: auto-mux: Trying existing master
debug1: Control socket "/Users/ashleyconnor/.ansible/cp/ansible-ssh-192.168.222.111-22-vagrant" does not exist
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.222.111 [192.168.222.111] port 22.
debug2: fd 3 setting O_NONBLOCK
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug3: timeout: 10000 ms remain after connect
debug3: Incorrect RSA1 identifier
debug3: Could not load "/Users/ashleyconnor/.vagrant.d/insecure_private_key" as a RSA1 public key
debug1: identity file /Users/ashleyconnor/.vagrant.d/insecure_private_key type -1
debug1: identity file /Users/ashleyconnor/.vagrant.d/insecure_private_key-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1 pat OpenSSH_5*
debug2: fd 3 setting O_NONBLOCK
debug3: load_hostkeys: loading entries for host "192.168.222.111" from file "/Users/ashleyconnor/.ssh/known_hosts"
debug3: load_hostkeys: found key type RSA in file /Users/ashleyconnor/.ssh/known_hosts:20
debug3: load_hostkeys: loaded 1 keys
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],ssh-rsa
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: [email protected],[email protected],ssh-rsa,[email protected],[email protected],ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],zlib,none
debug2: kex_parse_kexinit: [email protected],zlib,none
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-ctr hmac-md5 [email protected]
debug2: mac_setup: found hmac-md5
debug1: kex: client->server aes128-ctr hmac-md5 [email protected]
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug2: dh_gen_key: priv key bits set: 119/256
debug2: bits set: 527/1024
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 50:db:75:ba:11:2f:43:c9:ab:14:40:6d:7f:a1:ee:e3
debug3: load_hostkeys: loading entries for host "192.168.222.111" from file "/Users/ashleyconnor/.ssh/known_hosts"
debug3: load_hostkeys: found key type RSA in file /Users/ashleyconnor/.ssh/known_hosts:20
debug3: load_hostkeys: loaded 1 keys
debug1: Host '192.168.222.111' is known and matches the RSA host key.
debug1: Found key in /Users/ashleyconnor/.ssh/known_hosts:20
debug2: bits set: 511/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /Users/ashleyconnor/.ssh/id_rsa (0x7fc212600540),
debug2: key: /Users/ashleyconnor/.ssh/bitbucket (0x7fc212600730),
debug2: key: /Users/ashleyconnor/.ssh/deployer (0x7fc212600a00),
debug2: key: /Users/ashleyconnor/.ssh/github (0x7fc212600c80),
debug2: key: /Users/ashleyconnor/.ssh/ash_ovh (0x7fc212601010),
debug2: key: /Users/ashleyconnor/.ssh/deployer_ovh (0x7fc2126011e0),
debug2: key: /Users/ashleyconnor/.vagrant.d/insecure_private_key (0x0), explicit
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-with-mic,gssapi-keyex,hostbased,publickey
debug3: authmethod_lookup publickey
debug3: remaining preferred: ,gssapi-keyex,hostbased,publickey
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/ashleyconnor/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Users/ashleyconnor/.ssh/bitbucket
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Users/ashleyconnor/.ssh/deployer
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Users/ashleyconnor/.ssh/github
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Users/ashleyconnor/.ssh/ash_ovh
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Users/ashleyconnor/.ssh/deployer_ovh
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
Received disconnect from 192.168.222.111: 2: Too many authentication failures for vagrant
Der vagrant ssh
Befehl funktioniert gut.
vagrant ssh
und diese Frage betraf nur die schlüssellose Authentifizierung.IdentitiesOnly=yes
Antworten:
Laut
ssh-config(5)
ssh werden immer alle dem Agenten bekannten Schlüssel zusätzlich zu den Identitätsdateien geprüft:Um dies zu verhindern, muss
IdentitiesOnly=yes
zusätzlich zum explizit angegebenen privaten Schlüssel angegeben werden.Führen Sie beispielsweise den folgenden
ssh
Befehl aus:produziert:
Führen Sie jedoch denselben
ssh
Befehl aus und geben Sie zusätzlich Folgendes anIdentitiesOnly=yes
:produziert:
quelle
.ssh/config
Datei befindet sich die SyntaxIdentitiesOnly yes
in den entsprechendenHost
Abschnitten.ssh -o Option=Value
wirdOption Value
in der Konfigurationsdatei.ssh
Client-Option erwähnt.Also hatte ich 5 Schlüssel in meinem
ssh-agent
und trotz der expliziten Option, den vagabunden ssh-Schlüssel zu verwenden, bestand es immer noch darauf, die Schlüssel in meinem Agenten zu durchlaufen, bevor ich bequem max_tries erreichte, bevor ich zum richtigen Schlüssel kam.So überprüfen Sie,
ssh-add -l
ob dieses Problem vorliegt: Ausführen - Wenn diese Liste größer als 5 ist, müssen Sie Schlüssel entfernen oder den Agenten deaktivieren.So beheben Sie das Problem: Führen Sie aus,
ssh-add -d ~/.ssh/X
woX
sich der Schlüssel befindet, den Sie entfernen möchten.quelle
~/.ssh/
Ordner entfernen , ich brauche dann~.ssh
Ordner - Sie entfernen die Schlüssel aus derssh-agent daemon
. Sie können sie später jederzeit wieder hinzufügen. Sehen Sie hier für weitere Informationen.Nachdem ich alle Ratschläge hier erfolglos ausprobiert hatte, stellte ich fest, dass mein Problem die neue Authentifizierungsmethode (GSSAPI) war, die immer erfolglos blieb.
Ich habe das durch Bearbeiten der
~/.ssh/config
Datei gelöst :Hoffe das hilft auch jemandem.
quelle
Ihr ssh-Agent verfügt über mehr Schlüssel, als der ssh-Server für Authentifizierungsversuche zulässt ("MaxAuthTries", Standard: 6).
Beachten Sie, dass einige ssh-Agenten, insbesondere der GNOME-Schlüsselring, alle Schlüssel, die sie in ~ / .ssh finden, automatisch laden und dass diese Schlüssel nicht mit "ssh-add - [dD]" entladen werden können.
Hier sind einige Lösungen:
unset SSH_AUTH_SOCK
Lassen Sie den Client den Agenten ignorieren, oder verwenden Sie "IdentitiesOnly = yes", wie von @ henk-langeveld vorgeschlagenquelle
Um dies zu verhindern, können wir ssh mit
-o 'IdentitiesOnly yes'
zBssh -i privateKey -o 'IdentitiesOnly yes' user@host
Alternativ können wir die folgenden Zeilen zur Datei ~ / .ssh / config hinzufügen
quelle
So stellen Sie eine Verbindung zum Server mithilfe des Befehls "Schnellkorrektur" her:
Der empfohlene Weg wird unten erwähnt:
Aber wenn Sie Capistrano-Rezepte oder andere Software haben, die Ihren SSH-Server verbinden, müssen Sie die Fehler wie unten beschrieben beheben:
In ~ / .ssh / config - Datei erwähnt "IdentitiesOnly ja" Option in der Serverkonfiguration
private_key_OR_pem_file: Im Falle einer PEM-Datei wird auch die Erweiterung ".pem" erwähnt
quelle
Ich bin auf denselben Fehler gestoßen, als ich versucht habe, ein ansibles Playbook auszuführen. Am Ende lieferte ich die Option IdentitiesOnly ssh mit
--ssh-extra-args
:quelle
Schlüsselbotschaft ist
Sie haben die vagrant ssh-config-Ausgabe als Standardhost kopiert
.ssh/config
, dies wird jedoch übersprungen, da widersprüchliche Parameter (Hostname, Port) vorliegen. Wenn kein passender Eintrag vorhanden ist, probiert ssh einfach alle Schlüssel aus, die es finden kann.Testen Sie den SSH-Versuch erneut mit der
-i
OptionIch glaube, so würden Sie dies im Ansible-Inventar angeben:
Pfad für Lesbarkeit abgekürzt
Ursprüngliche Antwort:
Vergleichen Sie die Ausgabe von
vagrant ssh-config
mit dem vagabundierenden Eintrag in Ihrem.ssh/config
. Stellen Sie sicher, dass der Pfad des privaten Schlüssels genau übereinstimmt.Stellen Sie außerdem sicher, dass keine anderen Konten auf die Schlüsseldatei zugreifen können. Wir alle wissen, was dieser Schlüssel ist, aber SSH weiß nicht, dass dies öffentlich bekannt ist, und versucht, uns vor der Verwendung von Schlüsseln zu schützen, die möglicherweise kompromittiert sind.
quelle
vagrant ssh-config
aber ich habe sie erneut überprüft und sie ist identisch. Ich kann auchcat /Users/ashleyconnor/.vagrant.d/insecure_private_key
und habe ausreichende Berechtigungen.ssh -i $HOME/.vagrant.d/insecure_private_key -l vagrant 192.168.222.111
immer noch zu rennenReceived disconnect from 192.168.123.123: 2: Too many authentication failures for vagrant
vagrant
?vagrant ssh
es starte verbindet sich als Benutzer Vagrant