web-dev-qa-db-fra.com

Modifier le chemin d'accès par défaut lorsque je suis SSH dans Centos Server?

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.

12
Ben

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!

14
stevie I

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.

4
Yarko