PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HOW-TO: SSH ohne Passwort - Private/Public-Key für Putty und WinSCP



h75
22.01.2005, 13:15
Halloo.

Da ich auch danach schon öfter gefragt wurde, wie ich es mache, das ich mich ohne Passwort via SSH (Secure Shell) einlogge, möchte ich hier die Aneitung dazu veröffentlichen.

Es gibt die Möglichkeit, die ja auch Provider von Servern immer nutzen, das man sich mit einem "Schlüssel" am Server anmeldet. Diesen Schlüssel nennt man Public/Private-Key.

Voteile:
mehr Sicherheit bei der Authentisierung/Authorisierung
verschlüsselte Sessions
einfachen transparenten Zugriff
Man erstellt dazu einfach ein "Schüsselpaar" mit dem Programm ssh-keygen.
//irgendwie geht dies mit diesem Befehl nicht.. Weiss jemand Rat ????? :o

ssh-keygen -t dsa -b 2048 -C "Kommentar" Dafür habe ich aber für Windows-User hier ne bessere Erklärung. :cool:
https://forum.vbdev.de/showpost.php?p=107728&postcount=5

Die eine Datei, ein privater Schlüssel (Dateiname: username), lädt man runter, während man den anderen, den öffentlichen Schüssel (Dateiname: username.pub), auf dem Server in den Ordner /root/.ssh/ kopiert und in authorized_keys umbenennt. Allerdings sollte man beachten, das diese Datei schon vorhanden sein könnte, denn wie soll sonst der Techniker ohne Passwort auf den Server zugreifen???...

Den privaten Schlüssel hat man ja runtergeladen. Jetzt muss man Putty, WinSCP oder welches Programm man auch benutzt, um sich via SSH auf den Server einzuloggen, auf diesen Private-Key entsprechend konfigurieren. Das heisst, man wählt die entsprechende Einstellungen, und nennt dem Programm den Pfad zu der Private-Key-Datei. (z.B. c:\putty\username)

Nachdem Putty eingestellt ist, sollte es möglich sein, sich via Private-Keyeinzuloggen. Funktioniert?

Die Inormationen, wie man den Passwort-Login für den User Root deaktiviert, habe ich in eine Text-Datei ausgelaggert. Der Übersicht wegen..

Quelle meiner Informationen ist zum einen mein Provider und diese Website.
www.schlittermann.de/ssh
http://www.tu-dresden.de/urz/security/ssh-keys.html

Putty: www.uni-giessen.de/hrz/software/putty/

WinSCP: winscp.net/eng/index.php

http://hollii.de/temp/94756-1.jpg
http://hollii.de/temp/94756-2.jpg
http://hollii.de/temp/94756-3.txt

h75
03.06.2005, 05:09
Habe die Schlüsselerstellung auf SSH2 umgestellt. Ausserdem verwende ich in diesem Bespiel einen 2048 Bits Schlüssel... SSH1 sollte man nicht mehr verwenden. Davon wird auf vielen Websites abgeraten. :)

Tsukasa
06.06.2005, 15:29
Also bei mir will das nicht so ganz funktionieren :o :


login as: root
Unable to use key file "C:\Server\key" (OpenSSH SSH-2 private key)
Using keyboard-interactive authentication.
Password:

Kann mir jemand sagen, wo da das Problem ist :rolleyes: ?

h75
06.06.2005, 18:33
Hi, ja das habe ich auch schon festgestellt, das dies doch nit geht .. :( Son scheiss. Aber ich weiss nicht warum...

Ich persönlich bevorzuge ja am liebsten diese methode:

Lad dir Puttygen runter und erstelle den Key damit. Einfach in der Reihenfolge vorgehen. Wenn du den Key erstellt hast, dann hast du ne Private-Datei, die du dir abspeichern musst und den Public-key, der in die /root/.ssh/authorized_keys eingetragen werden muss, Aber Vorsichtig, denn dort könnten schon public-Keys der Techniker eingetragen sein...

PuttyGen (für Windows zum erstellen eines Public/Private-Keys)
http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe

Schritt für Schritt Erklärung der Bediendung von PuttyGen

Schritt 1: Wähle aus, ob du einen SSH 1 oder SSH 2 Key erstellen möchtest. Zu empfehlen ist aufjedenfall SSH2, da dies doch sicherer ist. Von SSH1 wird auf vielen Seiten mittlerweile abgeraten. Beginne dann die Generierung des Private/Public-Keys mit einem Klick auf Generate.
http://hollii.de/temp/keygen1.png

Schritt 2: Bewege in diesem Feld die Maus Wirr hin und her, um so ein zufäligen Key zu generieren. Dauert je nach Verschlüsselungsstärke und Rechengeschwindigkeit bis zu mehreren Minuten.
http://hollii.de/temp/keygen2.png

Schritt 3: Warten, bis deine Bewegungen verarbeitet wurden. Kann auch wieder je nach Systemleistung bis zu mehreren Minuten dauern.
http://hollii.de/temp/keygen3.png

Schritt 4: Wähle einen Kommentar zum Schlüssel, der immer dahinter gesetzt wird, um so die verschiedenen Schlüssel auseinanderhalten zu können. Kann entweder nur ein Name, eine Zahl oder auch eine Emailadresse sein.
Schriit 5: Den Inhalt in der Box markieren (alles in dem Umkreisten Feld) und füge dies der /root/.ssh/authorized_keys hinzu. Aber Vorsicht! Es können schon Public-Keys von Technikern dort eingetragen sein. Am besten mit dem Editor öffnen.. (z.b. über Putty: vi /root/.ssh/authorized_keys)
Schritt 6: Speichere deinen Private-Key, die Datei sollte nach Möglichkeit die Endung .ppk haben (muss nicht), an einem sicheren Ort ab, um diese dann später auch in Putty und WinSCP als private Schlüssedatei anzugeben. Das heisst ohne die Datei kommst net mehr auf den Server, wenn 1x das Passwort für den benutzer deaktiviert wurde.
Schriit 7: Speichere auch den Pubic-Key als eine seperate Datei ab, obwohl es ausreicht, das zu sichern, was du in die /root/.ssh/authorized_keys eingetragen hast. am besten beides sichern ..
http://hollii.de/temp/keygen4.png
(Ich hoffe dieses Bild ist zu verstehen.. :D)

Fertig. Wenn du das gemacht hast, kannst du dich bereits mit dem Private-Key einloggen. :cool:

Fragen? Her damit ... :D

Tsukasa
07.06.2005, 13:00
Dankeschön, das hat wunderbar funktioniert ;)

Gandalf2003
29.07.2005, 20:52
gibt es eigentlich irgendwelche sonderzeichen, die man definitiv nicht nehmen sollte, oder bin ich da freigestellt für alles?^^

mir ist halt ein problem gekommen, beim letzten mal, dass ich mit dem PPK mich nicht in den webmin einloggen konnte! muss daher zweigleisig fahren!

h75
30.07.2005, 01:47
hm, nicht das ich wüsste. Ich mixxe meinen Passes immer aus allen möglichen Buchstaben, Zeichen und Zahlen. Bisher konnte ich mich noch mit jedem Pass einloggen. Bei MySQL z.B. weiss ich aus Erfahrung, das Sonderzeichen und Passwörter die länger als 12 Stellen sind, Probleme machen...

Gandalf2003
30.07.2005, 09:34
danke dir!
ich hab durch nen kumpel einen kleinen generator für mich bauen lassen;)

h75
30.07.2005, 10:27
Was hast du bauen lassen? :confused: Eine Passgenerator? :)

http://hollii.de/temp/psarspg.jpg

stw.blackeagle
23.03.2007, 09:12
hmm ich kann die angehängte txt datei nciht öffnen :( krieg immer vBulletin error-.-

h75
23.03.2007, 09:14
Du meinst die aus dem ersten Post?

https://forum.vbdev.de/attachment.php?attachmentid=3466&d=1118148111

Die geht doch. :)

stw.blackeagle
23.03.2007, 09:16
jaa genua die mein ich... geht leider nicht...


stw.blackeagle, Sie haben keine Rechte, um auf diese Seite zuzugreifen. Folgende Gründe könnten z.B. dafür verantwortlich sein: [......]

kA wieso man als neu registrierter benutzer die nicht runterladen kann... bin aktiviert und alles :-/ kann ja offensichtlcih acuh beiträge schriben O.o

h75
23.03.2007, 09:18
Weil du vielleicht kein Kunde bist? ;) Wenn du Kunde bist, musst du im Kundenbereich die Email Adresse eintragen, die du hier im Forum benutzt hast.

//edit: Aber das is auch nix geheimes. ;) Hier der Inhalt der Text-datei.
-------------------------------------------------------------------------
Passwort-Login für den Benutzer root deaktivieren..
-------------------------------------------------------------------------
Du willst erreichen, dass man sich nur noch mit Key anmelden kann?
Wenn ja dann ersetze den MD5 Hash nach root:
einfach nur durch einen * . Also root:*: . Der Rest bleibt so wie er
dort steht.

Bitte erst wenn alles funktioniert, erst dann !!! in der Datei
/etc/shadow den MD5 Hash vom User, für den User root die Zeile

root:$1$k..:....

in

root:*:....

andern, wie z.B. eine Zeile tiefer... (Also den Hash durch ein
Sternchen * ersetzen)

!!! Einstellungen an der /etc/shadow werden OHNE NEUSTART übernommen!!!
Einfach nur ersetzen und fertig. !!!

Danach ist dann eine Anmeldung als root nur noch mit dem
Private-Key möglich. Diese Anleitung habe ich jetzt aus dem kopf
geschrieben und gleichzeitig an meinem Server ausgeführt.
-------------------------------------------------------------------------

stw.blackeagle
23.03.2007, 09:21
asoo... hmm das ist natürlcih gut nöglich.. :( na ja hab die datei jetzt ausm Sever Support Forum bekommen... ;) danke für den tipp ..funktioneirt wuenderbar :)

//edit:
ahh perfekt..!! danke danke!

franc
27.04.2007, 12:20
root:$1$k..:....
in
root:*:....
andern,

also das ist nicht unbedingt die beste lösung, wirklich nicht.
besser z.B.
ChallengeResponseAuthentication=no
(s. sshd_config)
und danach sshd neustarten (/etc/init.d/sshd restart)
UND IMMER BEACHTEN:
wenn man rumexperimentiert mit SSH-Zugang immer noch eine andere Sitzung offenhalten, wenn was schiefläuft, damit man sich nicht aussperrt :-)

linus_wildcat
20.06.2008, 20:53
Hi All.

Nach Durchforsten einiger Internetseiten (und dieser Anleitung hier), habe ich auf meinem Win2003 Server daheim OpenSSH installiert und entsprechend konfiguriert. Grund: ich wollte Port 3389 (RDP) nicht mehr in meinem Router offen haben, sondern RDP "durchtunneln".

Auf einem Clientrechner habe ich Putty drauf, habe mein Key-Pair erstellt, den Public auf dem Server in authenticated_keys umbenannt, die Datei neben all den anderen Settings in der sshd_config eingetragen und sicherheitshalber auch noch die Password-Authentication eingeschaltet gelassen.

Gehe ich mit Putty ohne Key (also Username / Password) auf den Server, geht alles, auch das Tunneln, WinSCP funktioniert und gut is.
Mit Key (sowohl in Putty als auch in WinSCP) bricht meine Session immer kurz nach der Akzeptierung ab.

Unten habe ich mal die letzten Zeilen der Putty.log eingefügt. Da steht ganz klar ACCEPTED und trotzdem fliege ich immer raus.
Ich gebe meine Passphrase ein und dann kommt eine Messagebox: Connection Closed by Remote Host.
Das heißt doch, daß nicht der Server mich wieder rausschmeißt, sondern Clientseitig irgendwas nicht stimmt....ich weiß einfach nicht was.

1000 Dank schon mal.

PUTTY.LOG:
Event Log: Access granted
Outgoing packet type 90 / 0x5a (SSH2_MSG_CHANNEL_OPEN)
00000000 00 00 00 07 73 65 73 73 69 6f 6e 00 00 01 00 00 ....session.....
00000010 00 40 00 00 00 40 00 .@...@.
Incoming packet type 91 / 0x5b (SSH2_MSG_CHANNEL_OPEN_CONFIRMATION)
00000000 00 00 01 00 00 00 00 00 00 00 00 00 00 00 80 00 ................
Event Log: Opened channel for session
Event Log: Local port 87 forwarding to 127.0.0.2:87
Outgoing packet type 98 / 0x62 (SSH2_MSG_CHANNEL_REQUEST)
00000000 00 00 00 00 00 00 00 07 70 74 79 2d 72 65 71 01 ........pty-req.
00000010 00 00 00 05 78 74 65 72 6d 00 00 00 50 00 00 00 ....xterm...P...
00000020 18 00 00 00 00 00 00 00 00 00 00 00 10 03 00 00 ................
00000030 00 7f 80 00 00 96 00 81 00 00 96 00 00 .............
Incoming packet type 99 / 0x63 (SSH2_MSG_CHANNEL_SUCCESS)
00000000 00 00 01 00 ....
Event Log: Allocated pty (ospeed 38400bps, ispeed 38400bps)
Outgoing packet type 98 / 0x62 (SSH2_MSG_CHANNEL_REQUEST)
00000000 00 00 00 00 00 00 00 05 73 68 65 6c 6c 01 ........shell.
Incoming packet type 93 / 0x5d (SSH2_MSG_CHANNEL_WINDOW_ADJUST)
00000000 00 00 01 00 00 02 00 00 ........
Incoming packet type 99 / 0x63 (SSH2_MSG_CHANNEL_SUCCESS)
00000000 00 00 01 00 ....
Event Log: Started a shell/command
Incoming packet type 94 / 0x5e (SSH2_MSG_CHANNEL_DATA)
00000000 00 00 01 00 00 00 00 4e 4c 61 73 74 20 6c 6f 67 .......NLast log
00000010 69 6e 3a 20 46 72 69 20 4a 75 6e 20 32 30 20 32 in: Fri Jun 20 2
00000020 31 3a 34 30 3a 35 31 20 32 30 30 38 20 66 72 6f 1:40:51 2008 fro
00000030 6d 20 68 6d 62 67 2d 34 64 62 61 37 39 35 64 2e m hmbg-4dba795d.
00000040 70 6f 6f 6c 2e 65 69 6e 73 75 6e 64 65 69 6e 73 pool.einsundeins
00000050 2e 64 65 0d 0d 0a .de...
Incoming packet type 96 / 0x60 (SSH2_MSG_CHANNEL_EOF)
00000000 00 00 01 00 ....
Incoming packet type 98 / 0x62 (SSH2_MSG_CHANNEL_REQUEST)
00000000 00 00 01 00 00 00 00 0b 65 78 69 74 2d 73 74 61 ........exit-sta
00000010 74 75 73 00 00 00 00 ff tus.....
Event Log: Server sent command exit status 255
Incoming packet type 97 / 0x61 (SSH2_MSG_CHANNEL_CLOSE)
00000000 00 00 01 00 ....
Outgoing packet type 97 / 0x61 (SSH2_MSG_CHANNEL_CLOSE)
00000000 00 00 00 00 ....
Event Log: Disconnected: All channels closed

h75
20.06.2008, 21:51
Passiert das direkt nach der Anmeldung oder erst einige Minuten später? Versuch mal in Putty und WinSCP folgendes einzuschalten.

WinSCP -Einstellungen - Verbindungen - Erhaltungspakete - SSH-Null-Pakete senden - alle 59 Sekunden

Putty - Configuration - Connection - Sending of null packets to keep active - Seconds between keepalives (0 to turn off) 59

Denn das würde ich jetzt mal als erstes vermuten... Auf der anderen Seite könnte es auch sein, das Serverseitig die Zeit zu kurz ist, um auf die Anmeldung zu warten. LoginGraceTime genannt in der sshd_config

linus_wildcat
22.06.2008, 15:41
Nein, der Abbruch kommt direkt nach der Eingabe meiner Passphrase.
Im Puttyfenster (habe ich so eingestellt, daß es sich nicht schließt) steht sogar noch Last Login....von grad eben.

Beide Settings, einzeln oder in Kombination haben übrigens nichts gebracht.

Strange, oder? Kann es vielleicht an den Versionen liegen?

Putty: 0.60
OpenSSH: v3.8.1p1-1

Balli
27.01.2010, 20:18
Hi
Es ist ein ganz altes Topic, aber ich brauche sie :)

Danke

mfg