Zum Inhalt springen

FAQ

Wie kann ich einem Benutzer einen SSH Zugang einrichten?

Auf den Managed-Root-Servern können Sie jedem Systemuser nicht nur FTP-Rechte (Grundeinstellung) zuweisen, sondern auch den Zutritt per SSH bzw. SFTP ermöglichen. Dies ist aber nicht(!) trivial und oft nicht sinnvoll.

Der Benutzer 'admin' hat auf den Servern Zugriff auf alle Pfade und kann sich über das Kommando 'su' jederzeit zum Superuser 'root' machen.

Dies ist bei 'normalen' Benutzer meist nicht erwünscht, deshalb werden alle anderen Benutzer, denen Sie den Zugang per SSH/SFTP erlauben, innerhalb des jeweiligen 'home' Ordners eingesperrt.

Der SSH-Dienst hat hier leider verschiedene Einschränkungen, die beachtet werden müssen. Deshalb folgt eine scheinbar 'unnötig komplizierte' Anleitung, die nicht unserem System, sondern dem SSH-Dienst geschuldet ist.

Das wichtigste Problem beim Einrichten eines SSH Zugangs in einen Unterordner Ihres Servers sind die fehlenden Programme, wie die shell selbst (z.B. csh oder sh) und alle möglichen Bibliotheken wie auch Konfigurationsdateien.

Diese Programme sind auf dem Server zwar vorhanden, jedoch nicht mehr 'erreichbar' wenn ein Benutzer in einen Unterordner 'eingesperrt' wird. Deshalb ist es nicht praktikabel jedem Benutzer einen SSH Zugang zu geben, ihn aber in einem eigenen Ordner einzusperren.

Sollte dies aber dennoch für Sie von besonderer Wichtigkeit sein, wenden Sie sich bitte an unseren Support. Wir können für Sie eine solche Login-Umgebung im kostenpflichtigen Support einrichten.

Möchten Sie einem anderen User als admin den Zugriff per SSH auf den ganzen(!) Server ermöglichen, so müssen Sie ihn nur zusätzlich der Gruppe 'admin' zuordnen:

sudo pw usermod hans -G admin

Der Benutzer 'hans' erlangt hiermit zwar keine besonderen Rechte, jedoch kann er sich grundsätzliche per SSH einloggen und überall dorthin bewegen, wohin z.B. auch jeder andere Nicht-Superuser hin darf, soweit es die Ordner-/Dateirechte ermöglichen. Zudem darf er die Kommandos 'su' und 'sudo' aufrufen. Diese kann er jedoch nur nutzen, wenn er auch das Passwort von 'root' besitzt - ausgenommen sind Kommandos aus der /etc/sudoers, die dort mit einem 'NOPASSWD:' Eintrag versehen sind.

Passwortloser Zugriff mit public key

Um dem neuen Benutzer SSH Zugriff auf Grund von public keys zu ermöglichen, muss zusätzlich zur obigen Gruppenanpassung der public key des Benutzers in '$HOME/.ssh/authorized_keys' abgelegt werden. '$HOME' steht hier für den vollen Pfad des Home-Directories des Benutzers - also z.B. /home/hans.

Wichtig ist auf folgende Permissions und Besitzer der zugehörigen Dateien zu achten, damit der Zugriff erfolgreich erlaubt wird:

sudo chmod go-w $HOME
sudo chmod 700 $HOME/.ssh
sudo chmod 600 $HOME/.ssh/authorized_keys
sudo chown BENUTZERNAME:vuser $HOME/.ssh/authorized_keys

Hier muss 'BENUTZERNAME' natürlich mit dem echten Benutzernamen ausgetauscht werden - also z.B. 'hans'.

 

Einrichten eines SFTP Zugangs

Deutlich einfacher ist es einem Benutzer SFTP Zugriff zu geben, was wir hier beschreiben werden. Dennoch sei angemerkt, dass der FTP-Dienst auf Ihrem Server bereits in der Lage ist eine stark verschlüsselte Verbindung aufzubauen, so dass auch die Einrichtung eines SFTP-Zugangs wenig sinnvoll erscheint.

Wenn Sie einem User einen SFTP Zugang einrichten, kann dieser NICHT mehr per ssh auf die Maschine zugreifen, da ein SFTP user automatisch per chroot in sein home Verzeichnis verschoben wird. Beim Zugriff per SSH Console kommt es dadurch dann zu einem Fehler.

Um einem User die Rechte für SSH/SFTP zu geben, muss er auf unseren Servern einer Gruppe zugeordnet werden, die 'ssh' heißt. Diese Gruppe gibt es aus Sicherheitsgründen nicht direkt nach der Einrichtung des Servers. Um diese Gruppe zu erstellen, geben Sie folgenden Befehl in der Konsole ein (entweder als Superuser 'root' oder als User 'admin' mit dem Kommando 'sudo' davor):

sudo pw group add ssh

Diesen Befehl müssen Sie nur beim ersten Mal ausführen. Jedem User, dem Sie nun den Zugriff auf Ihren Server per SFTP ermöglichen möchten, müssen Sie diese zusätzliche Gruppe zuweisen. Hier am Beispiel des fiktiven Benutzers 'hans':

sudo pw usermod hans -G ssh

Damit ein Zugriff nun aber tatsächlich möglich ist, muss der HOME Ordner des Benutzer 'root:wheel' gehören. Also dem Superuser alleine. Dies passt aber ganz und garnicht, wenn das Homeverzeichnis an den 'üblichen' Orten (z.B. /home/hans) liegt.

Es muss für den Benutzer also ein extra Ordner in einem Pfad angelegt werden, der ausschließlich 'root:wheel' gehört.

Haben Sie einen solchen Pfad angelegt, können Sie einem bereits vorhandenen Benutzer dieser Ordner als zukünfiges Home zuweisen:

sudo pw user mod hans -d /besonderer/pfad/hans

Ab sofort kann der Benutzer 'hans' sich per sftp in sein neues Homeverzeichnis verbinden.

Ändern Sie nicht den Besitzer der gesamten Pfadstruktur der typischen Homverzeichnisse wie '/home' und/oder '/usr/local/www/apache24/noexec', um dies in diesen Ordnern zu erreichen. Dadurch würden viele andere Probleme entstehen!
Nutzen Sie in diesem Fall immer die TLS/SSL Verschlüsselung des normalen FTP-Dienstes!

Wollen Sie einen Benutzer wieder aus einer solchen Gruppe (ssh/admin) entfernen, geben Sie folgenden Befehl ein:

sudo pw groupmod ssh -d hans

oder

sudo pw groupmod admin -d hans

 


Zurück

Sie brauchen Hilfe?

0421 4089-000