Vous êtes ici : Accueil / Debian GNU/Linux / Système / Configuration / Protéger un accès SSH contre les déconnexions

Protéger un accès SSH contre les déconnexions

Par Pierre-Yves Landuré Dernière modification 27/11/2015 11:27

Par défaut, une session SSH se termine en cas de déconnexion intempestive, tuant automatiquement tout programme y tournant. Ce guide utilise l'utilitaire byobu pour automatiquement détacher un shell ayant subit une déconnexion intempestive, et le rattacher à la prochaine connexion.

Ce guide est testé sur:

  • Debian 7.0 Wheezy

Paramètres

Renseignez le nom de l'utilisateur à protéger (utilisé pour se connecter avec SSH):

username="remote-user"

Installation

Détectez le proxy de commande (command ou sudo):

cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

Détectez le chemin du dossier personnel de l'utilisateur:

userPath="$(command getent 'passwd' "${username}" | command cut -d: -f6)"

Préparation de l'environnement

Installez les logiciels nécessaires:"

${cmdProxy} apt-get install byobu vlock

Mise en place

Activez l'outil pour l'utilisateur protégé:

${cmdProxy} su "${username}" -c "command byobu-launcher-install"

Configurez le verrouillage automatique du terminal après une période d'inactivité de 5 minutes:

echo 'set-option -g lock-command vlock
set-option -g lock-after-time 300' \
    | ${cmdProxy} su "${username}" -c "command tee '${userPath}/.byobu/.tmux.conf'"
${cmdProxy} chown "${username}":"${username}" "${userPath}/.byobu/.tmux.conf"

La prochaine session à distance de l'utilisateur sera automatiquement récupérée en cas de déconnexion intempestive.

Remerciements