Snažím se najít způsob, jak provést konkrétní příkaz při připojení k serveru přes SSH. Tím mám na mysli, že příkaz se provede bezpodmínečně při otevření připojení, takže by se nejlépe spouštělo ve stejnou dobu jako Banner
volba by se vytiskla, pokud by byla nastavena. Nepokouším se spustit příkaz po přihlášení.
O co mi jde, například:
$ ssh [email protected]
(Command essentially executed at this point, before the input prints.)
[email protected]'s password:
Důvod, proč se o to pokouším, je ten, že bych chtěl spustit krátký skript, který odešle oznámení push do mého telefonu vždy, když je navázáno připojení, bez ohledu na to, zda se přihlásím nebo ne. Měl jsem v plánu použít pam_exec, ale to spouští pouze auth
pokud je zadáno heslo a stisknete enter, a account
a session_*
moduly se spouštějí pouze po úspěšném přihlášení. Pokud se připojení otevře, ale poté zavře, například když uživatel jednoduše stiskne Ctrl+C, skript se nikdy nespustí.
Existuje nějaká metoda, jak to udělat? Nenacházím na toto téma mnoho informací.
Přijatá odpověď:
Můžete spustit sshd
přes inetd
, s inetd
běží:
sh -c 'your-command; exec sshd -iD'
při příchozím připojení (viz upozornění v sshd(8)
). ačkoli).