Verschlüsselte SSH-Verbindung auf vServer

francy_space

Ensign
Registriert
Juni 2020
Beiträge
169
Hallo,

ich mache meine ersten Gehversuche auf einem VPS-Server (Ubuntu 20.04) im Rechenzentrum. Ich habe einen verschlüsselten Private Key erstellt, der im Pageant-Programm hinterlegt ist. Starte ich meinen vServer über PuTTy so muss ich keine Passworteingabe machen, was ich praktisch finde. Denn, die Passwörter sind üblicherweise sehr lang. Durch den Login über den Private Key auf Pageant spart man etwas Zeit.

Nun habe ich mir überlegt, wie es wäre, wenn man komplett die Passworteingabe bei einer SSH-Einwahl deaktivieren könnte. Dadurch könnten sich doch die ganzen Bots nicht versuchen bei mir über falsche Passwörter einzuloggen. Das heißt, eine Einwahl wäre nur noch mit dem Private Key möglich.

Ist solch eine Konfiguration denn möglich?

Danke sehr.
 
Schritt III hiervon sieht aus wie das, was du haben möchtest. Die Schlüsseldateien solltest du dann aber nie verlieren, also wenigstens an einem zweiten Ort ein verschlüsseltes Backup von ihnen aufbewahren.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: madmax2010 und francy_space
  • Gefällt mir
Reaktionen: madmax2010 und francy_space
So, wie ich raushöre, ist so etwas möglich, aber nicht unbedingt ratsam, da man sich aussperren kann. Vielmehr sollte ich stattdessen auf fail2ban und iptables-Regeln abweichen. Verstehe ich euch richtig?
 
in dem guide von @DeusoftheWired unbedingt den nachtrag beachten. "PasswordAuthentication" muss auf "no" gestellt sein - "PermitRootLogin" gilt nur für den root.

persönlich arbeite ich auch mit keys. sollte ich aber mal per ssh rauf, ohne den key dabeizuhaben, dann nur mit zwei-faktor authentifizierung mittels google-authenticator. der hat auch praktischerweise gleich ein rate-limiting eingebaut. fail2ban sperrt zusätzlich ungebetene besucher aus.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: DeusoftheWired und francy_space
Bei welchem hoster bist du denn?

Eine gute config waere: Password auth&root login deaktiviert, ssh keypair verschluesselt.
Dann musst du deinen SSH Key 1x Pro session entsperren.
 
  • Gefällt mir
Reaktionen: francy_space
Das ist bei mir immer das Erste, das ich einstelle. Bei mir gibt es keinen ssh-Login, der über Passwort läuft.
Habe das bisher immer wie hier beschrieben gemacht.
 
  • Gefällt mir
Reaktionen: francy_space
francy_space schrieb:
Verstehe ich euch richtig?
Nein. Per SSH/pubkey statt Passwort sich einzuloggen ist die empfehlenswerte Methode. Man kann beides parallel betreiben. Aber wenn man so weit mit der Konfig ist, das man merkt das pubkey funktioniert, würde ich Passwortauthentification rausnehmen.
Wichtig ist bei Änderung der SSH-Konfig. immer die Prüfung der Konfig-Datei zu machen, weil der SSH-Server bei einer fehlerhaften Konfig.Datei nicht mehr hoch kommt.
sshd bietet dafür den Kommandozeilenschalter -t
 
  • Gefällt mir
Reaktionen: francy_space
Ich habe einen vServer von IONOS. Den für 1 Euro im Monat.

Gut, dann mache ich mich an die Arbeit, den ssh-Login über einen Passwort komplett lahmzulegen.
 
Code:
PermitRootLogin without-password
reicht damit die Passwort Authentifizierung deaktiviert wird. Zusätzlich würde aber einen alternativen SSH Port konfigurieren, z.B. 40099 oder ähnliches.

Grundsätzlich würde ich dir empfehlen, SSH Port ändern, Root Login verbieten, mit einem anderen Benutzer einloggen und nur mit sudo arbeiten.

Bedenke aber dass du für die richtige Konfiguration des Server als Betreiber alleine verantwortlich bist. Sollte dein Server mal kompromitiert und damit Blödsinn veranstaltet werden, z.B. SPAM Versand, kannst du für den Schaden belangt werden. Kann mal schnell 5-6 stellig werden.
 
  • Gefällt mir
Reaktionen: francy_space
Oder SSH nur per IPv6 ... wer mag ausrechnen, wie lange es dauert, bis jemand die Adresse gefunden hat? ;)
 
Wenn man's wirklich gut absichern will, kann man auch Hardware-Authentifizierung per FIDO2 nehmen, Google-Stichwort "ed25519-sk". Sehr schicke Sache, weil dann der Private Key niemals einfach so rumfliegt, auch nicht auf dem Rechner, den man als SSH-Client nimmt. Ist aber für den kleinen privaten Server vermutlich mit Kanonen auf Spatzen geschossen.

Falls man den SSH-Key verliert oder ähnliches, kann man sich bei einer VM immer noch via Rescue-System oder ein virtuelles Terminal an die VM (gibt's normalerweise in der UI des Hosters).

fail2ban halte ich erstmal für unnötiges Gebastel. Es will richtig konfiguriert werden und löst auch kein Sicherheitsproblem, sondern bestenfalls ein Verfügbarkeitsproblem.
 
  • Gefällt mir
Reaktionen: francy_space
Zurück
Oben