
Ich habe einen Ubuntu VPS, den ich manchmal als SOCKS
Proxy zum Surfen im Internet verwende. Ich verwende den Befehl zur dynamischen SSH-Portweiterleitung wie folgt:
ssh -fNTC -D 1080 username@vpsIP
Stellen Sie dann den Proxy meines Browsers auf localhost:1080
ein SOCKS
.
Ich habe einen zusätzlichen Benutzer mit dem Benutzernamen 'Kerle' auf dem VPS, damit ein paar Freunde auch eine SSH-Portweiterleitung durchführen und so etwas wie ein VPN erhalten können (den Netzwerkteil des VPN brauchen wir nicht).
Nun möchte ich meinen VPS wirklich nicht als VPN-Server betreiben und daher gerne bei der SSH-Portweiterleitung oder ähnlichem bleiben.
Wie verhindere ich dieKerleBenutzer daran hindern, eine sichere Shell zu öffnen und Probleme auf dem VPS zu verursachen?
Antwort1
Wie wäre es, die Shell des Benutzers „Dudes“ zu entfernen?
usermod -s /sbin/nologin dudes
oder wenn Ihr Betriebssystem nicht über nologin verfügt:
usermod -s /bin/false dudes
Antwort2
Es gibt einige Möglichkeiten. Aber die einfachste ist wahrscheinlich die Option ForceCommand
in sshd_config
. Sie lässt die Ausführung von Befehlen nicht zu und wenn sie welche ausführen möchten, wird dieser ausgeführt.
Beispielausschnitt von sshd_config
:
Match User dudes #your dudes user -- you can also match group
ForceCommand /bin/true
Antwort3
Wenn Sie eine schlüsselbasierte Authentifizierung verwenden (was ich Ihnen dringend empfehle), können Sie über die authorized_keys
Datei einschränken, was jeder Schlüssel tun darf.
Die Angabe command="/bin/false"
vor dem Schlüssel würde verhindern, dass sie eine Shell oder einen anderen Befehl als den von Ihnen eingegebenen aufrufen authorized_keys
.
Sie können noch weitere Einschränkungen festlegen authorized_keys
. Eine vollständige Liste finden Sie auf der sshd
Manpage.