Bonjour,
Je suis dans un cas où l’intégralité de la session SSH à une machine doit être loggué. On se connecte en SSH à cette machine en en utilisant une autre comme proxy :
$ cat ~/.ssh/config VerifyHostKeyDNS=yes
Host 10.0.0.19 IdentityFile ~/.ssh/id_rsa2
Host 10.0.0.13 ProxyCommand ssh bastion-user@10.0.0.19 -W %h:%p
(je sais bien que l’on peut facilement le contourner en se connectant directement, mais c’est un labo simple pour le moment, ce sera différent en prod)
J’aimerais donc, sur 10.0.0.19 lancer une commande type script qui enregistre toutes les commandes tapées et les sorties de ces commandes.
Dans le cas d’une connexion directe, je pourrais utiliser /etc/ssh/sshrc, mais ce fichier n’est pas lu dans le cas d’un simple forwarding. Le shell de l’utilisateur qui sert de rebond n’est pas utilisé non plus, même avec un nologin je peux me connecter à la machine finale.
Je me pose deux questions (et demie) : * Quel est l’équivalent de /etc/ssh/sshrc dans le cas de -W ? * Est-ce que je vais réellement voir ce qui passe ? Le trafic est relayé par cette machine, mais la session est initiée par une autre machine. * Si je ne peux pas voir le trafic, comment puis-je enregistre la session sur la machine finale sans que l’utilisateur puisse effacer le fichier qui sera écrit ? Faire un shell custom et l’utiliser avec ForceCommand est envisageable, mais c’est la question des droits UNIX sur le fichier de log qui me pose plus problème.
Merci pour vos réponses,