Probleme mit SSH CLONE (GIT/BITBUCKET)


NetBull

Erfahrenes Mitglied
#1
Hi,

ich will via GIT von BITBUCKET CLONEN/PULLEN und später wieder PUSHEN.
Das ständige Getippe von Passwörtern nervt.

Habe die Key-Files eingerichtet
Code:
ssh-keygen -b 4096 -P "" -f ~/.ssh/id_rsa.git
den Key dann mit vim ausgegeben
Code:
vim ~/.ssh/id_rsa.git.pub
... und bei Bitbucket richtig eingetragen.

Wenn ich nun zu klonen versuche,
Code:
git clone git@bitbucket.org:mydev122/project.git test
dann kommt ein Fehler
Code:
Klone nach 'test'...
The authenticity of host 'bitbucket.org (104.192.143.2)' can't be established.
RSA key fingerprint is .........
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,104.192.143.2' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Muss ich das Keyfile im Commit gesondert angeben? Die -i Option gibt es in GIT leider nicht.

LG NetBu||
 

NetBull

Erfahrenes Mitglied
#3
cool.. das klappt.
Kann ich noch die nervige message unterdrücken?


Code:
The authenticity of host 'bitbucket.org (100.111.222.3)' can't be established.
RSA key fingerprint is *****.
Are you sure you want to continue connecting (yes/no)?
 

Bratkartoffel

gebratene Kartoffel
Premium-User
#4
Hi,

bau mal per normalen SSH ne Verbindung auf und bestätige den Fingerprint dort. Danach steht er in der ~/.ssh/known_hosts und git sollte nicht mehr meckern.
Bash:
ssh git@bitbucket.org
Grüsse,
BK
 

NetBull

Erfahrenes Mitglied
#5
Das ist ne vagrant machine, die beim provisionieren gleich das Repository cloned, falls das noch nicht steht.
Das es da einen Prompt gibt, stört... Weil es nun nicht mehr unbeaufsichtigt geht.

Kann man das nicht mit einem Befehl vorab einrichten?
 

Bratkartoffel

gebratene Kartoffel
Premium-User
#6
Ja,

einmal connecten und die known_hosts sichern oder halt die Zeile daraus dann per echo in die known_hosts einfügen falls noch nicht vorhanden.

Grüsse,
BK
 

ikosaeder

Teekannen-Agnostiker
#8
Klasse, das ist das Schlechteste was du machen kannst.
Der erste Verbindungsversuch ist bei SSH kritisch. Wenn dir jemand eine falsche Verbindung untermogelt, kann er anschließend deinen gesamten Datenverkehr mit dem Server mitlesen (Man in the middle), Darum gibt der Server bei der ersten Verbindung einen Hostkey bzw. den Fingerprint des selben an. Diesen sollte man über eine alternative Verbindung überprüfen, z.B. durch direkten Kontakt mit einem Admin.
SSH speichert dann den Fingerprint in der bereits erwähnten known_hosts. Wenn jetzt jemand versucht mittels IP Spoofing versucht deine Verbindung zu kapern, taucht eine Warnung auf, das der Key nicht passt. Mit ssh -o StrictHostKeyChecking=no unterdrückst du diese Warnung.
Wenn dein Schlüssel nicht id_rsa heißt, kannst du ihn mit ssh-add deinem Agent bekannt machen.
Du musst nur darauf achten, das niemand deinen PrivateKey kopieren kann. Ein Passwort ist fast immer besser, aber ich verstehe, das für den automatisierten Zugang ein Passwort nicht funktioniert.
 

NetBull

Erfahrenes Mitglied
#9
na es geht nur um eine DEV maschine auf de rvagrant läuft und das soll automatisch laufen. ansonsten stimme ich dir zu, passwörter, wenn gut sind besser..
 

ikosaeder

Teekannen-Agnostiker
#10
Du hast mich falsch verstanden. SSh-keys sind sicherer als Passwörter. Man kann aber den Key mit einem Passwort sichern. Das -p "" setzt explizit ein leeres Passwort. Das ist bei Keys für automatisierte Verarbeitung schwierig zu vermeiden. Das große Problem ist aber nicht -p "" sondern StrictHostKeyChecking=no
 

NetBull

Erfahrenes Mitglied
#11
ah. ok, kommt davon wenn man seine mails an der Ampel liest...
Bei der Entwicklermaschine muss der Schlüssel kein Pass haben.
An die Folgen der Stricthost... habe ich nicht gedacht.
Aber bei einer automatisierten Generierung ist das anders nicht machbar.
Vielleicht sollte ich das noch mal überdenken.