Existe-t-il un moyen d'exécuter un script / commande chaque fois qu'un utilisateur se connecte à l'aide de ssh? Peut-il être configuré globalement (c'est-à-dire exécuter le script lors de la connexion d' un utilisateur)?
Je suis tombé sur cette question sur Identica, mais il n'y a pas encore de réponse et j'aimerais le savoir de toute façon.
Pour tous les utilisateurs, ou un utilisateur particulier? Pour un seul utilisateur, définissez-le dans leur .bashrcfichier; pour tous les utilisateurs, consultez pam_exec .
Si les utilisateurs viennent de sshd, vous voudrez ajouter la ligne suivante à /etc/pam.d/sshd; d'autres fichiers en fonction de leur source:
À des fins de test, le module est inclus en tant que optional, afin que vous puissiez toujours vous connecter en cas d'échec. Après vous être assuré que cela fonctionne, vous pouvez passer optionalà required. La connexion ne sera alors possible que si l'exécution de votre script de hook est réussie.
Remarque: Comme toujours lorsque vous modifiez la configuration de connexion, laissez un shell de sauvegarde ouvert en arrière-plan et testez la connexion à partir d'un nouveau terminal.
Merci, cela semble prometteur. Pouvez-vous élaborer un peu plus? Je ne connais pas ça.
phunehehe
Je suppose que je devrais ajouter session include pam_exec.so seteuid /path/to/scriptau fichier /etc/pam.d/system-remote-login. Est-ce exact?
phunehehe
Soit system-remote-loginou sshd, selon la façon dont l'utilisateur entre.
Glen Solsberry
Impressionnant! Ce serait formidable si vous modifiez la réponse pour inclure les informations (vous savez, pour ceux qui les recherchent).
phunehehe
Note aux personnes googler, vous pouvez aussi mettre cette ligne auth optional pam_exec.so /path/to/my/hook.shen /etc/pam.d/common-authavoir PAM vous informer de tous les événements d'authentification qui se produisent. Ce programme peut également vous envoyer des notifications push: github.com/benjojo/PushAlotAuth
Nick Sweeting
6
il y a une autre façon qui n'influence que les utilisateurs utilisant ssh et non les locaux (ce qui pourrait être mieux dans les situations d'urgence)
voir les extraits de la page de manuel ssh ci-dessous.
dans ce cas, les utilisateurs peuvent généralement modifier eux-mêmes les fichiers (un peu comme .bashrc)
~/.ssh/rc
Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.
et ceci est global et non modifiable par l'utilisateur normal
/etc/sshrc
Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.
session include pam_exec.so seteuid /path/to/script
au fichier/etc/pam.d/system-remote-login
. Est-ce exact?system-remote-login
ousshd
, selon la façon dont l'utilisateur entre.auth optional pam_exec.so /path/to/my/hook.sh
en/etc/pam.d/common-auth
avoir PAM vous informer de tous les événements d'authentification qui se produisent. Ce programme peut également vous envoyer des notifications push: github.com/benjojo/PushAlotAuthil y a une autre façon qui n'influence que les utilisateurs utilisant ssh et non les locaux (ce qui pourrait être mieux dans les situations d'urgence)
voir les extraits de la page de manuel ssh ci-dessous.
dans ce cas, les utilisateurs peuvent généralement modifier eux-mêmes les fichiers (un peu comme .bashrc)
et ceci est global et non modifiable par l'utilisateur normal
la source
/etc/ssh/sshd_config
(voirman sshd_config
pour plus de détails)