Téléchargez un fichier sur chaque machine distante, dites ~/.my_custom_bashrc
, avec votre bash
personnalisé configuration, (dans ce cas PS1=...
) puis lancez ssh
avec :
ssh [email protected] -t "bash --rcfile ~/.my_custom_bashrc -i"
Vous pouvez facilement utiliser un bash
fonctionner comme wrapper pour la lisibilité.
Si vous souhaitez simplement envoyer le PS1
variable, et elle ne contient pas de '
(apostrophe), essayez :
ssh targethost -t "PS1='$PS1'; exec bash"
Le .bashrc
local peut bien écraser PS1
cependant (merci à Dennis Williamson pour l'avoir signalé).
Il existe des moyens de transmettre des variables d'environnement via ssh, mais elles sont généralement désactivées dans la configuration du serveur. Si le PermitUserEnvironment
est activée dans la configuration du serveur et chaque utilisateur a sa propre paire de clés (oui, vous n'aurez peut-être pas cette chance), vous pouvez ajouter environment="PS1=…"
à la ligne en ~/.ssh/authorized_keys
correspondant à votre clé.
Si vous souhaitez conserver votre propre configuration sur un compte utilisateur partagé, vous pouvez créer votre propre répertoire de fichiers de configuration et définir le HOME
variable d'environnement pour pointer vers ce répertoire.
ssh targethost mkdir mrstatic.home
scp .bashrc targethost:mrstatic.home/
Créer des liens symboliques dans le mrstatic.home
répertoire pointant vers l'entrée correspondante dans le répertoire parent lorsque vous souhaitez partager un fichier avec les autres utilisateurs.
Ensuite, connectez-vous avec
ssh targethost -t 'HOME=~/mrstatic.home; exec bash'`
Si vous souhaitez modifier la télécommande .profile
(ou autre fichier d'initialisation), vous pouvez probablement automatiser vos réglages. De nombreux sites autorisent LC_*
variables d'environnement à travers (normalement elles sont utilisées pour les paramètres régionaux). Si ces deux conditions sont remplies, vous pouvez définir une variable qui n'est pas réellement utilisée pour les paramètres régionaux, par exemple LC_USER
, côté client, et testez-le sur le serveur .profile
.
(Bien sûr, les comptes partagés sont une mauvaise idée, mais je sais que vous n'êtes peut-être pas en mesure de changer cette situation.)
ssh -t [email protected] "remote='$PS1' bash -i"
Puis, à l'invite :
PS1=$remote