SSH Verbindung zu VPS Server mit RSA Key absichern, wie?

Massaguana

Aktives Mitglied
Thread Starter
Dabei seit
03.06.2008
Beiträge
972
Reaktionspunkte
77
Hallo Zusammen,

ich betreibe ein kleinen VPS den ich gerne über ein RSA Key zusätzlich absichern möchte...

Wie ich den RSA Key auf meinem Server erzeuge habe ich nachgelesen:

ssh-keygen -b 4096 -t rsa
und
/etc/init.d/ssh restart

Wie ich den Key nun aber Sichern kann und auch auf meinem Mac einbinden muss um diesen nutzen zu können habe ich nicht rausfinden können... oder ich habe die Anleitungen nur nicht Verstanden..

Kann mir wer da ein Tipp geben bitte?

Grüße
Massaguana
 
was willst du genau machen?
du willst dich von deinem mac auf den server verbinden?
per ssh mit key login?

dazu musst du auf dem mac für deinen benutzer einen ssh key erzeugen und dann pub key in die
authorized_keys auf dem server eintragen bei dem benutzer in den sich eingeloggt wird …
 
Ja, ich möchte mich von meinem Mac aus zu dem VPS Verbinden um dort zu Arbeiten. Bisher macht ich dies einfach per ssh root@... was ich schon gemacht habe ist das ich den SSH port abgeändert habe. das funktioniert bisher auch gut.

Ich möchte im Prinzip weiter ein Passwort eingeben nur halt das für den RSA Key. Also eine weitere Hürde zum Login.

Ich hatte es so verstanden das ich auf dem Server ein key erzeuge und diesen bei mir "einbauen" muss... du schreibst es genau anders herum..
 
hier ist noch mal eine andere anleitung, eventuell ist die leichter verständlich?
https://www.thomas-krenn.com/de/wiki/OpenSSH_Public_Key_Authentifizierung_unter_Ubuntu
steht zwar ubuntu dran, aber die schritte sind fast identisch, bis dass du auf dem mac kein
ssh-copy-id von haus aus hast. da musst die authorized_keys auf dem server von hand erstellen.

normal hat man auch keinen passwort login bei root aktiviert, nur key login.
die script kiddies lassen ja den ganzen tag passwort attacken auf server laufen.
 
Es ist auch andersrum.... Key am Client erzeugen (mit oder ohne Passwort) und diesen auf dem Server unter dem entsprechenden User hinterlegen
Das Passwort des Users auf dem Server wird dann nicht mehr abgefragt

http://www.schlittermann.de/doc/ssh.html
 
der client ist in dem fall der mac …
die host europe anleitung macht das schon komisch, da wird für den root user auf dem server ein schlüssel erstellt und dann auf den client geladen.
kann man eventuell machen, wenn nur ein user root hat.
die anleitung ist an einer stelle eh schlecht gemacht, vor dem teil mit dem key erstellen, raten die dir einen user anzulegen und den root login auszuschalten.
ist auch eine gängige praxis, aber dann kommt das beispiel mit dem key über den root user.
du kannst das PermitRootLogin auch auf without-password stellen …


willst das mit dem fail2ban auch machen?
 
Also den RSA Key habe ich auf dem mac nun mit Password erzeugt...

Was nun fehlt ist das hochladen und einbinden der öffentlichen Schlüssels...

so?
$ cat ~/.ssh/*.pub | ssh -p PORT root@IP-DES-SERVERS 'umask 077; cat >>.ssh/authorized_keys'

Dann muss ich testen ob es geht... dann kann ich den Login mit Password Abschalten...
 
Also der Befehl will nicht... sagt der Datei oder Verzeichnis nicht vorhanden... dabei habe ich die Struktur .ssh/authorized_keys erstellt...
 
du kannst auch einfach die .pub per scp übertragen:
scp -P PORT ~/.ssh/id_rsa.pub root@IP-DES-SERVERS:/root/.ssh/authorized_keys
 
Ich würde sagen die Dateinamen und pfade passen...
 

Anhänge

  • Bildschirmfoto 2017-03-18 um 12.48.42.PNG
    Bildschirmfoto 2017-03-18 um 12.48.42.PNG
    58,2 KB · Aufrufe: 149
Kopier dir den Inhalt der id_rsa.pub auf dem Mac in die Zwischenblage und füge es per Editor auf dem Server am Dateiende ein:

vi/nano/wasweissichfüreineditor ~/.ssh/authorized_keys
 
also root selbst ist ja die oberste ebene...
sieht so aus bei mir:
 

Anhänge

  • Bildschirmfoto 2017-03-18 um 12.54.35.PNG
    Bildschirmfoto 2017-03-18 um 12.54.35.PNG
    112 KB · Aufrufe: 134
beim einfügen über den editor aber darauf achten, dass das eine zeile ist wegen den zeilenumbrüchen …
 
also root selbst ist ja die oberste ebene...
sieht so aus bei mir:

/root ist nicht die oberste Ebene sondern ein Verzeichnis namens root in der obersten Ebene! Dies ist das Homeverzeichnis des Users root

/ ist die oberste Ebene
Du hast nur /.ssh ... wahrscheinlich aber nicht das erforderliche /root/.ssh

~ ist ein Kürzel für das Homeverzeichnis ... unter dem User root ist ~ also gleichbedeutend mit /root
 
Generell möchte ich noch anmerken, dass es schlechter Stil ist den SSH-Zugriff mit root zu erlauben.
Dafür erstellt man für gewöhnlich einen neuen User und verschafft sich erst nach dem Einloggen Rootrechte b.B. mit sudo.
 
  • Gefällt mir
Reaktionen: Apfeleis und roedert
Zurück
Oben Unten