GNU/Linux >> Tutoriels Linux >  >> Linux

Comment déterminer si je suis connecté via SSH ?

Solution 1 :

Vous pouvez utiliser la sortie de la commande "w" ou "who". Lorsque vous vous connectez via ssh, ils affichent votre adresse IP source.

Solution 2 :

Voici une excellente réponse que j'ai trouvée sur unix.stackexchange :

  • Si une des variables SSH_CLIENT ou SSH_TTY est défini, il s'agit d'une session ssh.
  • Le processus parent du shell de connexion peut être vérifié avec ps -o comm= -p $PPID . Si c'est sshd , c'est une session ssh.
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
  SESSION_TYPE=remote/ssh
else
  case $(ps -o comm= -p $PPID) in
    sshd|*/sshd) SESSION_TYPE=remote/ssh;;
  esac
fi

Solution 3 :

Vous pouvez ajouter SSH_* à env_keep en sudoers afin que cela puisse être détecté lors du passage à l'autre utilisateur.

Solution 4 :

Si vous voulez savoir si votre shell bash est directement un processus enfant de sshd (pas n>1 couches de profondeur), vous pouvez

chat /proc/$PPID/statut | tête -1 | couper -f2

cela devrait vous donner sshd ou quel que soit le nom du processus parent de votre shell actuel.

Solution 5 :

Je pense que vous voulez repenser la façon dont vous envisagez le problème. La question n'est pas "suis-je connecté via SSH, parce que je veux désactiver certaines commandes". C'est "suis-je connecté à la console, car alors j'activerai certaines commandes."


Linux
  1. Comment désactiver la connexion de l'utilisateur racine via SSH

  2. Ssh - Comment exécuter un script immédiatement après la connexion via Ssh ?

  3. Ssh – Comment éditer des fichiers à distance via Ssh ?

  4. Comment Scp Via Une Machine Intermédiaire ??

  5. Comment quitter une connexion SSH ?

Comment se connecter à votre serveur Web via SSH

Comment se connecter à votre serveur via SSH

Comment me connecter à mon compte cPanel via SSH ?

Comment SSH au serveur via Linux

Comment restaurer une sauvegarde cPanel via SSH

Comment utiliser rsync avec une adresse IPv6 via SSH ?