Je suis à la recherche d'un moyen de définir automatiquement certains alias à l'intérieur de ma session sur n'importe quel serveur auquel je ssh. Je ne peux pas les mettre dans les .bashrc
fichiers sur le serveur car les comptes d'utilisateurs avec lesquels je me connecte sont partagés par d'autres personnes et en plus il y en a des dizaines et maintenir un script sur chaque machine serait pénible. Je sais que je pourrais utiliser expect
pour taper les alias automatiquement, mais je me demandais simplement si OpenSSH avait quelque chose de intégré qui pourrait éventuellement être utilisé pour y parvenir?
14
Vous pouvez mettre votre configuration
.bashrc
et ne les laisser s'exécuter que lorsque vous vous connectez. Pour rendre cela possible, vous pouvez passer une variable d'environnement via ssh..bashrc
modificationssshd_config
modifications:.ssh/config
modifications (côté client):.bashrc
modifications (côté client):(non testé, mais devrait le faire)
la source
À partir de la page de manuel ssh (1) , si vous créez un fichier ~ / .ssh / rc , il sera exécuté AVANT l'exécution du shell de connexion de l'utilisateur, donnant ainsi la possibilité d'effectuer des tâches de «pré-configuration» avant de vous connecter. l'exemple donné était de monter des partages réseau avant de se connecter.
Si vous ne souhaitez pas utiliser des fichiers ~ / .ssh / rc individuels , vous pouvez faire de même avec / etc / ssh / sshrc . Un test rapide pour vérifier votre nom d'utilisateur particulier ou une méthode d'identification pourrait empêcher les autres de même remarquer qu'il était en place.
/ etc / ssh / sshrc provient UNIQUEMENT si ~ / .ssh / rc n'existe pas, vous pouvez donc atteindre efficacement deux couches de complexité.
la source
Les alias sont définis et interprétés par le shell.
Malheureusement, il n'y a aucun moyen
ssh
de les transmettre au shell distant.Vous pouvez écrire un
ssh
wrapper côté client qui crée un environnement agréable du côté distant, mais ce ne serait pas joli.la source
Si possible, je voudrais stocker un petit script qui initialise / définit tout ce que vous voulez sur un serveur accessible de partout et l'exécute après la connexion à chaque serveur.
la source
Une solution possible serait de mettre votre script qui configure tout sur un serveur Web auquel tous les autres serveurs peuvent accéder.
Ensuite, chaque serveur devrait simplement avoir besoin d'un petit script pour faire quelque chose comme:
De cette façon, vous n'avez qu'à le mettre à jour en un seul endroit.
la source
Regardez .ssh / config
Voici un exemple https://lookherefirst.wordpress.com/2007/12/17/a-simple-ssh-config-file/
la source