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(a)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,
--
alarig