GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ausführen eines Remote-Befehls über eine SSH-Verbindung vor der Anmeldung?

Ich versuche, einen Weg zu finden, einen bestimmten Befehl auszuführen, wenn ich mich über SSH mit einem Server verbinde. Damit meine ich, dass der Befehl beim Öffnen einer Verbindung bedingungslos ausgeführt wird, also würde dies vorzugsweise gleichzeitig mit einem Banner ausgeführt werden Option würde gedruckt, wenn gesetzt. Ich versuche nicht, einen Befehl nach auszuführen anmelden.

Was ich suche, zum Beispiel:

$ ssh [email protected]
(Command essentially executed at this point, before the input prints.)
[email protected]'s password: 

Der Grund, warum ich das versuche, ist, dass ich ein kurzes Skript ausführen möchte, das Push-Benachrichtigungen an mein Telefon sendet, wenn eine Verbindung hergestellt wird, unabhängig davon, ob ich mich anmelde oder nicht. Ich hatte geplant, pam_exec zu verwenden, aber das löst nur auth aus wenn ein Passwort eingegeben und die Eingabetaste gedrückt wird, und das account und session_* Module werden nur bei erfolgreicher Anmeldung ausgelöst. Wenn eine Verbindung geöffnet und dann geschlossen wird, z. B. wenn ein Benutzer einfach Strg+C drückt, wird das Skript niemals ausgeführt.

Gibt es dafür eine Methode? Ich finde nicht viele Informationen zu diesem Thema.

Akzeptierte Antwort:

Sie können sshd ausführen über inetd , mit inetd läuft:

sh -c 'your-command; exec sshd -iD'

bei einer eingehenden Verbindung (siehe den Vorbehalt in sshd(8) obwohl).


Linux
  1. Wie werden Ssh-Remote-Befehlszeilenargumente analysiert?

  2. Wie konfiguriere ich Schriftarten auf einer Remote-X-Verbindung (xdmcp vs. Ssh)?

  3. Bash lädt Knoten nicht auf Remote-SSH-Befehl

  4. Wie führe ich den Top-Befehl richtig über SSH aus?

  5. SSH - So fügen Sie den Befehl -t in die Datei ~/.ssh/config ein

Eine Anleitung für Anfänger zu SSH für Remote-Verbindungen unter Linux

SSH-Befehl

Was ist ein SSH-Befehl und wie wird SSH verwendet, um eine Verbindung zum Remote-Server herzustellen?

Wie Sie wissen, was ein Befehl oder Programm genau tun wird, bevor Sie es ausführen

So richten Sie eine sichere Remote-MySQL-Verbindung ein

Verwendung von SSH-Befehlen in Linux/Unix-Systemen