it-swarm.com.de

Fehler beim Hinzufügen des Hosts zur Liste der bekannten Hosts

Mac OSX Lion 10.7.

Um mich mit verrückten Umgebungen herumzureißen (Homebrew installierte wget nicht und ich hatte alle möglichen seltsamen Blöcke und Fehler), deinstallierte ich zschrc und Homebrew und ein paar andere Sachen und installierte dann Fish Shell.

Immer wenn ich versuche, zu/von github zu schieben/zu ziehen, erhalte ich diese Fehlermeldung:

The authenticity of Host 'github.com (204.232.175.90)' can't be established.
RSA key fingerprint is <string of colon-separated chars that I should probs keep private>.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the Host to the list of known hosts (/Users/sasha/.ssh/known_hosts).

Also habe ich versucht, die Berechtigungen meines ~./Ssh-Ordners zu überprüfen, und habe folgendes bekommen, was für mich gut aussieht:

-rw-r--r--  1 sasha  staff    97B Jul  9 22:56 config
-rw-------  1 sasha  staff   1.7K May 16  2012 id_rsa
-rw-r--r--  1 sasha  staff   403B May 16  2012 id_rsa.pub
drwx------  5 sasha  staff   170B Jul 15 09:56 known_hosts

Alles, was in known_hosts enthalten ist, ist eine PEM-Datei, die ich für das ssh'ing (auch mit der Aufforderung "authenticity ...") zu einer Amazon-ec2-Instanz verwendet habe, obwohl ich versucht habe, id_rsa und id_rsa.pub dort zu kopieren, wenn die Dinge verzweifelt wurden. 

Irgendeine Idee, was los ist Ich würde gerne das Problem beheben, damit ich nicht jedes Mal, wenn ich Push/Pull drücke, aufgefordert wird.

EDIT Ich habe diese Anweisungen befolgt, vor einiger Zeit erfolgreich, also habe ich meine SSH-Schlüssel auf Github, und sie werden erkannt, wenn ich ssh -T git @ github .com, bekomme ich 

Hi sashafklein! You've successfully authenticated, but GitHub does not provide Shell access.

Es scheint ausschließlich mein lokaler Computer zu sein, der mit meiner ssh-Situation nicht zufrieden ist.

41
Sasha

Sollte known_hosts nicht eine flache Datei sein, kein Verzeichnis? 

Wenn das nicht das Problem ist, könnte diese Seite auf Github eine Hilfe sein. Verwenden Sie SSH mit der Markierung -v oder -vv, um ausführliche Fehlermeldungen anzuzeigen. Es könnte Ihnen eine bessere Vorstellung davon geben, was nicht funktioniert.

16
CXJ

In Ihrem speziellen Fall ist Ihr known_hosts ein Ordner, daher müssen Sie ihn zuerst entfernen.

Für andere Personen, bei denen ein ähnliches Problem auftritt, überprüfen Sie bitte die Erlaubnis für Ihren ~/ssh/known_hosts, da dieser möglicherweise einem anderen Benutzer gehört (beispielsweise root). Sie können also versuchen zu laufen:

Sudo chown -v $USER ~/.ssh/known_hosts

etwas reparieren.

94
kenorb

Für Jungs auf Ubuntu, wenn Sie diesen Fehler erhalten:

Fehler beim Hinzufügen des Hosts zur Liste der bekannten Hosts

Dann löschen Sie einfach die known_hosts-Datei und führen Sie Ihre SSH erneut aus. Dadurch wird die known_Host-Datei mit den entsprechenden Berechtigungen neu erstellt und der entfernte Host, den Sie versuchen, ssh in diese Datei aufzunehmen.

24
Kingz

Ich denke, die Frage des OPs wird durch das Löschen von ~/.ssh/known_hosts (das war ein Ordner, keine Datei) gelöst. Aber für andere, die dieses Problem haben könnten, fiel mir auf, dass einer meiner Server seltsame Berechtigungen hatte (400):

-r--------. 1 user user 396 Jan 7 11:12 /home/user/.ssh/known_hosts

Also löste ich dieses Problem, indem ich Besitzer/Benutzer PLUS schreibe. 

chmod u+w ~/.ssh/known_hosts

Somit. ~/.ssh/known_hosts muss eine flache Datei sein und in Ihrem Besitz sein, und Sie müssen lesen und schreiben können.

Sie können known_hosts immer als Konkurs deklarieren, löschen und normal weiterarbeiten. Wenn Sie sich mit Dingen (git/ssh) verbinden, wird ein neues known_hosts erstellt, das gut funktionieren sollte.

15
Peter Dietz

Dies ist die Lösung, die ich brauchte.

Sudo chmod 700 ~/.ssh/
Sudo chmod 600 ~/.ssh/*
Sudo chown -R ${USER} ~/.ssh/
Sudo chgrp -R ${USER} ~/.ssh/
6
Stoney Eagle

Dieser Befehl hat für mich funktioniert, 

Sudo chown -v $USER ~/.ssh/known_hosts

wie von @kenorb erwähnt. 

Der Fehler wurde aufgrund fehlerhafter Berechtigungen für den aktuellen Benutzer verursacht.

5
Ganesh prasad

Okay, so sehen ideale Berechtigungen aus
Für das ssh-Verzeichnis (Sie können dies erhalten, indem Sie ls -ld ~/.ssh/ eingeben)
drwx------ 2 oroborus oroborus 4096 Nov 28 12:05 /home/oroborus/.ssh/

d bedeutet Verzeichnis, rwx bedeutet, dass der Benutzer oroborus über Lese- und Ausführungsberechtigung verfügt. Hier ist oroborus mein Computername. Sie können Ihren finden, indem Sie $ USER wiederholen. Der zweite Oroborus ist eigentlich die Gruppe. Sie können mehr darüber erfahren, was jedes Feld hier bedeutet. Es ist sehr wichtig, dies zu lernen, denn wenn Sie an Ubuntu/Osx oder Linux-Distributionen arbeiten, werden Sie darauf erneut stoßen. 

Damit Ihre Erlaubnis so aussieht, müssen Sie sie eingeben
Sudo chmod 700 ~/.ssh 

7 in binär ist 111, dh Lesen 1 Schreiben 1 und Ausführen 1, Sie können 6 mit ähnlichen logischen Mitteln nur Lese- und Schreibberechtigungen dekodieren

Sie haben Ihrem Benutzer Lese- und Ausführungsberechtigungen erteilt. Stellen Sie sicher, dass Ihre Dateiberechtigungen so aussehen. 

total 20
-rw------- 1 oroborus oroborus  418 Nov  8  2014 authorized_keys
-rw------- 1 oroborus oroborus   34 Oct 19 14:25 config
-rw------- 1 oroborus oroborus 1679 Nov 15  2015 id_rsa
-rw------- 1 oroborus oroborus  418 Nov 15  2015 id_rsa.pub
-rw-r--r-- 1 oroborus root      222 Nov 28 12:12 known_hosts

Sie haben Ihrem Benutzer hier für alle Dateien die Berechtigung Lesen und Schreiben erteilt. Sie können dies durch Eingabe von ls -l ~/.ssh/ sehen.

Dieses Problem tritt auf, weil es sich bei ssh um ein Programm handelt, das versucht, in eine Datei namens known_hosts in seinem Ordner zu schreiben. Wenn er beim Schreiben weiß, dass er nicht über ausreichende Berechtigungen verfügt, schreibt er nicht in diese Datei und schlägt daher fehl. Dies ist mein Verständnis des Themas, mehr sachkundige Personen können mehr Licht in dieses Licht werfen. Ich hoffe es hilft

4
Saras Arya

Es ist mir einfach passiert, weil die Berechtigungen gebrochen sind. Mein Benutzer hatte weder Lese- noch Schreibzugriff auf diese Datei. Durch das Festlegen von Berechtigungen wurde das Problem behoben

2
Andrea Gherardi

Ich habe den "ssh" -Schlüssel erneut generiert und meinem Git-Konto hinzugefügt. Das hat bei mir funktioniert.

Bitte finden Sie folgende Befehle, um den "ssh-key" zu generieren:

$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

-> Hiermit wird ein neuer SSH-Schlüssel erstellt, der die angegebene E-Mail-Adresse als Bezeichnung verwendet.

Generating public/private rsa key pair.

-> Wenn Sie aufgefordert werden, "Geben Sie eine Datei ein, in der der Schlüssel gespeichert werden soll", drücken Sie die Eingabetaste. Dies akzeptiert den Standardspeicherort der Datei.

Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]

-> Geben Sie an der Eingabeaufforderung eine sichere Passphrase ein. Weitere Informationen finden Sie unter "Arbeiten mit SSH-Passwörtern"

Enter passphrase (empty for no passphrase): [Type a passphrase]

Enter same passphrase again: [Type passphrase again]

-> Ihr Schlüssel wird generiert, um den Schlüssel zu kopieren:

$ Sudo cat /root/.ssh/id_rsa-pub

Hoffe das klappt!

1
SH'

für mich mache ich einfach das: 

rm -rf ~/.ssh/known_hosts

dann : 

ich ssh nur an den Ziel-Host und alles wird in Ordnung sein .. Nur wenn Sie nicht wissen, welche Berechtigung und der Standardbesitzer der Datei "known_hosts" ist. 

0
Rizvi Faizi

Für alle, die daran interessiert waren, arbeitete diese in Ubuntu für mich

  1. Wechseln Sie in das Verzeichnis .ssh .

    $ cd ~/.ssh
    
  2. Entfernen Sie die Datei known_hosts .

    $ rm known_hosts
    
  3. Drücken Sie Ihre Git-Änderungen erneut.

0
Yves

Dieser Befehl hat für mich funktioniert,

Sudo chmod +x ~/.ssh/known_hosts 
0
Nishu KC

Überprüfen Sie die Berechtigungen der Datei, und prüfen Sie, ob die übergeordneten Verzeichnisse korrekt sind

Ich musste korrigieren

/home/sravindr/.ssh Berechtigungen, die für mich gearbeitet haben

0
Sabarish