ingo2
Anmeldungsdatum: 15. Juni 2007
Beiträge: 2145
Wohnort: wo der gute Riesling wächst
|
Gibt es eine Möglichkeit, die known_hosts einfach zu editieren? Die wächst bei mir ständig an, wenn man von extern auf dynamische IP's zugreift, bis dann irgendwann garnix mehr geht, da irgendein alter Key darin zu Warnungen führt und den ssh-Login verweigert. Dann hilft nur noch:
known_hosts löschen und ganz neu anfangen. Den Einträgen in known_hosts sieht man leider nicht an, zu welchem ssh-Server sie gehören, damit ist auch ein
ssh-keygen -R ...
sinnlos, denn man weiß ja nicht unter welcher Identität der Server dort verewigt ist. Kann man das entschlüsseln? Viele Grüße,
Ingo
|
d1rk
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
ingo2 schrieb: Die wächst bei mir ständig an, wenn man von extern auf dynamische IP's zugreift, bis dann irgendwann garnix mehr geht, da irgendein alter Key darin zu Warnungen führt und den ssh-Login verweigert. Dann hilft nur noch:
… in die Zeile zu gehen, die in der Fehlermeldung angegeben wird, und die Zeile zu löschen, oder es so einzustellen, dass fehlerhafte Keys ignoriert werden (ssh -o 'CheckHostIP no' bzw. ein entsprechender Eintrag in der Konfigurationsdatei) ☺
|
ingo2
(Themenstarter)
Anmeldungsdatum: 15. Juni 2007
Beiträge: 2145
Wohnort: wo der gute Riesling wächst
|
Danke für die Info - wußte nicht, daß die Ziffer in der Fehlermeldung die Zeilen-Nr. in der known_hosts ist! In der Konfigrationsdatei ssh_config möchte ich das eigentlich nicht abschalten, dann gilt es ja systemweit für alle Hosts. Gibt es eine Möglichkeit, das auf der Serverseite zu de-aktivieren?
(das betrifft ja wirklich nur einen einzigen Server mit dynamischer IP, der auch nur Verbindungen von diesem einen Client erlaubt) Ingo
|
d1rk
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
ingo2 schrieb: In der Konfigrationsdatei ssh_config möchte ich das eigentlich nicht abschalten, dann gilt es ja systemweit für alle Hosts.
Unter ~/.ssh/config kannst du das auch je User einstellen. Gibt es eine Möglichkeit, das auf der Serverseite zu de-aktivieren?
Das hat nichts mit dem Server zu tun, sondern nur mit dem Client. ☺
|
ingo2
(Themenstarter)
Anmeldungsdatum: 15. Juni 2007
Beiträge: 2145
Wohnort: wo der gute Riesling wächst
|
Danke, dann werde ich mal meine ~/.ssh/config bearbeiten, Frohe Ostern,
Ingo
|
d1rk
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
ingo2 schrieb: Frohe Ostern
Gleichfalls, Danke!
|
ingo2
(Themenstarter)
Anmeldungsdatum: 15. Juni 2007
Beiträge: 2145
Wohnort: wo der gute Riesling wächst
|
Habe jetzt auch einen Weg gefunden, damit die IP und Ports des Servers in der known_hosts im Klartext erscheinen: ~/.ssh/config editieren (bzw. neu anlegen) und am Anfang folgende Zeile einfügen:
HashKnownHosts no
und die Einträge sehen dann so aus:
[217.87.192.71]:xxxxx ssh-rsa AAAAB3Nza..... (xxxxx ist die Port-Nr.)
[217.87.205.2]:xxxxx ssh-rsa AAAAB3NzaC..... (xxxxx ist die Port-Nr.)
und man kann gezielt die ungültigen Zeilen löschen! Viele Grüße,
Ingo
|
J-K
Anmeldungsdatum: 21. August 2007
Beiträge: 49
Wohnort: Bebra
|
Kleiner Tipp, gefunden bei http://linux-aha.de/wordpress/?p=112.
Folgende Funktion in ~/.bashrc einfügen: | function ssh-delete-knownhost-line {
sed -i ${1}d ~/.ssh/known_hosts
sed -i ${1}d ~/.ssh/known_hosts
echo "Zeile ${1} gelöscht"
}
|
Damit lässt sich schnell und einfach der relevante Eintrag löschen. Einfach die Zeilennummer aus der Fehlermeldung mitgeben.
|
d1rk
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
J-K schrieb: Folgende Funktion in ~/.bashrc einfügen: […]
Vier Monate alter Thread, immerhin sinnvoll wieder exhumiert 😉 Nur der kilometerlange Funktionsname … da solltest du noch mal drüber nachdenken. Auch darüber, dass die Funktion sinnloser Weise spamt ist sicher nicht nötig …
|
ingo2
(Themenstarter)
Anmeldungsdatum: 15. Juni 2007
Beiträge: 2145
Wohnort: wo der gute Riesling wächst
|
Guter Tip J-K, das hilft aber leider nicht in meinem Fall. Mein Problem ist nicht die Verweigerung des Log-in wegen geändertem Host-Key, sondern das Aufblähen der known_hosts weil der SSH-Server täglich eine neue IP bekommt (Zwangstrennung der T-Com). Da bekomme ich natürlich auch keine Fehlermeldung, sondern nur jedes Mal eine Aufforderung, den Key von der neuen IP zu akzeptieren, der dann der known_hosts zugefügt wird. Leider (aber wohl aus Sicherheitsgründen) wird der Key in der known_hosts nicht dem hostname sondern der IP zugeordnet. Viele Grüße, Ingo
|
Lux
Anmeldungsdatum: 10. November 2005
Beiträge: 5152
Wohnort: Grüt (Gossau ZH), Schweiz
|
ingo2 schrieb: Leider (aber wohl aus Sicherheitsgründen) wird der Key in der known_hosts nicht dem hostname sondern der IP zugeordnet.
Generell ist es eine gute Idee, eine Datei ~/.ssh/config zu haben, dort könntest Du beispielsweise aufnehmen: Host eisenkarl
User ichbins
HostName obi.dyndns.org
CheckHostIP no Damit kannst Du Dich mittels "ssh eisenkarl" verbinden, unabhängig von der IP-Adresse. Gruss Dirk
|
ingo2
(Themenstarter)
Anmeldungsdatum: 15. Juni 2007
Beiträge: 2145
Wohnort: wo der gute Riesling wächst
|
Hi Lux, das ist die wirkliche Lösung meines Problems, jetzt geht es ohne Eintrag in der known_hosts. Der Knackpunkt war die Zeile
CheckHostIP no
die anderen Einträge hatte ich schon in der ~/.ssh/config. Auf den Eintrag
User xyz
kann ich verzichten, da das Einloggen von extern sowieso nur über einen hohen Port und mit meinem privaten ssh-key erlaubt ist - da können die Script-Kiddies sich die Zähne ausbeißen, wenn sie denn die Port-Nummer überhaupt suchen und finden 😉 Jetzt knurrt zwar mein nas mit dem ssh-Server und gibt folgende Warnung aus:
ssh nas-extern
!!! WARNING - this incident and your IP has been logged !!!
Linux nas 2.6.26-2-orion5x #1 Mon Jun 22 01:31:12 UTC 2009 armv5tel
...... Aber es geht - Danke! Ingo P.S.: jetzt werde ich mal meine known_hosts komplett ausmisten - zum letzten Mal ☺
|