J'ai un serveur Web Centos 5.7, et je souhaite modifier la placement par défaut que je atterrissez lors de la connexion à l'aide de SSH.
Actuellement, je termine dans /home/username
, et je veux atterrir en /home
au lieu.
Je suis allé en tant que root et ajouté PermitUserEnvironment yes
à /etc/.ssh/sshd_config
- Et comme je le comprends, cela balaye alors le dossier ssh
pour un fichier environment
. Ce que je ne suis pas sûr, c'est exactement ce que j'ajoute à ce fichier d'environnement, comme export path=$PATH:$HOME
ne semble pas fonctionner, ni dans mes fichiers .bscashrc ou .bash_profile (qui, comme je la crois, cela ne ferait pas de différence de toute façon, car une connexion SSH est une coquille non interactive?).
Merci d'avance.
Si vous utilisez PAM pour l'authentification, ce qui est probablement le plus probable. Comme tête racine dans /etc/passwd
.
Là, vous devriez voir votre nom d'utilisateur et votre chemin! Changez-le là-bas et vous êtes gratuitement à la maison!
Edit - Désolé, cela vient de me survenir que vous ne vouliez peut-être pas changer votre dossier à domicile. Dans ce cas, ajoutez simplement:
cd /home
Au bas de votre .bashrc
déposer!
La chose à retenir est que ~/.ssh/environment
est lu avant une coquille ou une commande ssh
_ est engendrée (par exemple) (par exemple) ni l'exportation ni le chemin de $ n'a de sens. Vous ne pouvez définir que des variables d'environnement (ne pas exécuter des commandes générales shell) ici.
Si vous attrapez l'environnement pour une coque SSH non interactive, modifiez-le, vous devez obtenir ce que vous voulez pour les commandes non interactives. Par exemple:
$ ssh mylogin@myserver env
vous donnera ce que le SSH commence par votre serveur. Si vous écrivez votre ~/.ssh/environment
Fichier comme:
PATH=/usr/local/bin
et Rerun ce qui précède, vous devriez obtenir "Bash: env: la commande introuvable". Bon!
Maintenant, accumulez votre chemin explicitement, en fonction de ce qu'il était à la base de votre système sshd
(c'est-à-dire le premier "ssh .... env" env "env" envo), par exemple (Ajout de /usr/local/bin
à la tête):
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Notez également qu'il n'est pas utile d'essayer de définir la CWD dans ~/.ssh/rc
(qui est exécuté après ~/.ssh/environment
est lu, mais avant votre ssh
shell ou commande) car votre shell commencera (par défaut) dans votre chemin de maison.