SSH-Login - Befehl ausführen - beenden

SSH-Login - Befehl ausführen - beenden

Gibt es eine Möglichkeit, bei der Anmeldung eines Benutzers (SSH) einfach einen Befehl (oder ein Skript) auszuführen und dann zu beenden? Irgendwie wird die Standard-Shell durch ein benutzerdefiniertes Skript ersetzt.

Ich möchte, dass ein Benutzer nur einen Dienst neu starten kann, aber keinen regulären Shell-Zugriff hat

Danke

Antwort1

Dazu verwenden Sie SSH-Schlüssel und legen den mit dem Schlüssel verknüpften Befehl in der Datei .ssh/authorized_keys des Benutzers fest. Eine schnelle Google-Suche ergibtDas, insbesondere der Abschnitt „Erzwungener Befehl“.

Bearbeiten: Der zweite Teil davon ist an passwd -lden Benutzer gerichtet, sodass eine passwortbasierte Anmeldung unmöglich ist.

Antwort2

In Ubuntu konnte ich ein Skript erstellen, das den Dienst neu startete. Dann habe ich im /etc/passwd-Eintrag des Benutzers das Skript als Login-Shell festgelegt (das letzte Feld).

aus /etc/passwd:

Testkonto:x:1001:1001:1,,:/home/Testkonto:/home/Testkonto/login.sh

Antwort3

So ähnlich?

root@admin:~ # ssh root@www 'df -h'
Filesystem Size Used Avail Use% Mounted on
/dev/ubda 3.5G 2.1G 1.4G 61% /
tmpfs 96M 4.0K 96M 1% /dev/shm

verwandte Informationen