execute Script by ssh connect disconnect

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
SpecialAgent
Beiträge: 20
Registriert: 02.09.2004 10:36:27

execute Script by ssh connect disconnect

Beitrag von SpecialAgent » 20.06.2010 20:53:38

Hallo,

gibt es eine Möglichkeit Skripte nachdem eine SSH Verbindung (login) aufgebaut worden ist und nachdem SSH Session abgelaufen/getrennt worden ist?

Danke und Gruß

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: execute Script by ssh connect disconnect

Beitrag von nepos » 21.06.2010 08:33:02

Ich werd zwar aus deiner Frage nicht ganz schlau, da scheint was zu fehlen, aber ich vermute du willst, dass Skripte weiterlaufen, auch wenn die SSH-Session beendet wird.
Dazu kannst du dein Skript mit screen starten. Das überlebt dann auch eine abgebrochene SSH-Session. Näheres findest du in der Man-Page zu screen.

fredl99
Beiträge: 10
Registriert: 17.08.2008 13:51:32

Re: execute Script by ssh connect disconnect

Beitrag von fredl99 » 21.06.2010 12:27:28

Hi,
Oder er meint, daß nach dem Login irgendwas automatisch ausgeführt wird. Das wäre dann mit einer ~/.ssh/rc bzw. /etc/ssh/sshrc machbar.
Für das gleiche beim Logout müsste man aber andere Wege gehen.

Benutzeravatar
SpecialAgent
Beiträge: 20
Registriert: 02.09.2004 10:36:27

Re: execute Script by ssh connect disconnect

Beitrag von SpecialAgent » 26.06.2010 17:03:00

Hey,

danke für die Antworten. Hehe... ja da fehlte was. Sorry.

Folgender Anwendungsfall:
  • Ich logge mich mit SSH auf meinem Server ein
  • Es soll nun ein Skript getriggert werden
  • Ich melde mich mit 3 weiteren SSH Sessions an
  • Das Skript soll nicht wieder getriggert werden, nur bei der ersten SSH Verbindung
  • Beende nun alle (egal ob über timeout, DSL Verbindung weg oder manuell mit exit)
  • Wenn die letzte verbliebende geschlossen wird soll wieder ein Skript laufen.
Danke schonmal!

Hintergrund:
Habe Windows 7 als Host und Ubuntu als Gast in VirtualBox. Windows 7 geht in den Schlafmodus nach 15min. Das sogar unabhängig ob ich eine SSH Verbindung zu Ubuntu aufgebaut hatte.
Habe jetzt ein Programm für Windows, welches den SleepMode verhindert, wenn über HTTP ein Schalter umgelegt wird (für LOGIN oben). Jetzt möchte ich es so bequem wie möglich haben und der Schalter soll für mich transparent umgelegt werden. Also wenn ich die letzte SSH Session beende, soll das Programm Windows wieder an Sleep Modus ranlassen.

Benutzeravatar
SpecialAgent
Beiträge: 20
Registriert: 02.09.2004 10:36:27

Re: execute Script by ssh connect disconnect

Beitrag von SpecialAgent » 26.06.2010 18:30:02

So,

das Skript in ~/.ssh/rc funktioniert nun wunderbar. Eigentlich kann es bei jedem Login ausgeführt werden, da es idempotent ist.

Jetzt fehlt nur noch der schwierigere Teil: Ein Skript ausführen nachdem/während dessen die letzte Session geschlossen wird. Da hab ich jetzt gar keinen Peil.

Gruß.

fredl99
Beiträge: 10
Registriert: 17.08.2008 13:51:32

Re: execute Script by ssh connect disconnect

Beitrag von fredl99 » 28.06.2010 20:05:49

Hi,
Du könntest einen cron-job in bestimmten Abständen mittels "who" nachsehen lassen, wie oft Du noch eingeloggt bist. Kommt keine Ausgabe mit Deinem Namen mehr, kannst Du den Schalter umlegen lassen.

Benutzeravatar
SpecialAgent
Beiträge: 20
Registriert: 02.09.2004 10:36:27

Re: execute Script by ssh connect disconnect

Beitrag von SpecialAgent » 28.06.2010 20:16:58

Hey,

ja an nen cron job hab ich auch schon gedacht... der pollt dann zwar... aber is ja egal.
Hmm... who kannte ich noch nicht.... super idee!

Danke.

uname
Beiträge: 12422
Registriert: 03.06.2008 09:33:02

Re: execute Script by ssh connect disconnect

Beitrag von uname » 02.07.2010 08:51:30

Wenn das alles bei nur einer SSH-Sitzung funktioniert, so solltest du dir mal das Paket Debianscreen anschauen. Dann hast du in einer SSH-Sitzung beliebig viele andere Terminals. Du wirst nie wieder was anderes nutzen wollen.

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: execute Script by ssh connect disconnect

Beitrag von GoKi » 02.07.2010 10:04:10

Könnte per PAM funktionieren, schau z.B. mal unter
http://upsilon.cc/~zack/blog/posts/2008/01/PAM_hooks/
MfG GoKi
:wq

Antworten