Chaque fois que je me connecte à mon serveur Linux, j'aimerais que plusieurs commandes s'exécutent automatiquement (définir certaines variables, changer d'emplacement, etc.)
Cela doit être fait lors de la connexion de l'utilisateur, pas au démarrage du système.
Comment puis-je le configurer pour ce faire?
man bash
).Réponses:
Mettez les commandes
~/.bashrc
. Tout ce qui s'y trouve est exécuté à chaque fois que vous vous connectez.Si vous avez besoin de commandes à exécuter uniquement lorsque vous vous connectez via ssh (mais pas lorsque vous vous connectez physiquement), vous pouvez probablement tester la présence de la
SSH_CONNECTION
variable d'environnement et exécuter les commandes uniquement si vous constatez qu'elle existe.la source
Mettez-le simplement dans ~ / .bashrc ou /etc/bash.bashrc si vous le souhaitez pour tous les utilisateurs:
la source
screen
, je pourrais utiliser votre réponse etscreen
y mettre à la place de l'écho. Le problème est que la fin de la session écran reviendra à l'invite SSH au lieu de se déconnecter. Le simple fait d'écrire ce commentaire m'a donné la réponse, cependant: ajoutez lalogout
commande après lascreen
commande.exec command
remplacera le shell actuel par tout ce que vous exécutez.Vous pouvez également spécifier une commande à exécuter lors de l'appel de
ssh
:La dernière commande de la liste devrait démarrer une session interactive dans votre shell préféré. Si vous avez beaucoup de commandes à exécuter, envisagez de créer un fichier de script sur votre serveur SSH.
la source
En fait,
~/.ssh/rc
c'est un bon endroit pour vous d'ajouter une commande à exécuter lorsque vous vous connectez, plutôt que n'importe quel utilisateur du système.la source