22 votes

Paragraphe du fichier de configuration SSH pour ouvrir un répertoire spécifique sur le serveur distant

Existe-t-il un moyen d'accéder spécifiquement par ssh à un répertoire particulier dans un emplacement distant ? en utilisant spécifiquement le fichier de configuration ssh local (non terminal) ? Quelque chose comme Dir dans le paragraphe ci-dessous, par exemple,

    Host remote_dir
       Hostname remote_server
       User username
       Dir path/to/remote_dir/

Donc, si je, ssh en utilisant la valeur Host du paragraphe ci-dessus,

ssh remote_dir

Ensuite, je voudrais être connecté et que le terminal soit prêt pour moi à l'adresse suivante path/to/remote_dir/ du serveur distant,

username@remote_server: path/to/remote_dir/ > pwd
/home/username/path/to/remote_dir/

24voto

Jay Points 601

Dans ce poste sur ServerFault ils disent que vous ne pouvez pas tout faire à travers le fichier de configuration ssh. Mais vous pouvez le faire avec le fichier de configuration ssh et votre .bash_profile, ou quel que soit le nom que lui donnent les geeks du terminal. Dans le fichier de configuration ssh, ajoutez

Host dev
  Hostname server.com
  User joe

puis dans votre .bash_profile ajoutez un alias

alias domain1="ssh dev -t 'cd domains/domain1; bash'"

Ici, le dev fait référence à ce que vous avez configuré dans le fichier de configuration.

Dans le Terminal, il suffit de taper domain1 il vous sera demandé de saisir votre mot de passe et vous accéderez directement au répertoire. Créez un nouvel alias pour tous vos domaines et il sera très facile de se connecter à chacun d'eux.

14voto

Philipp Claßen Points 4863

Jetez un coup d'œil à https://serverfault.com/questions/167416/change-directory-automatically-on-ssh-login

C'est le réponse acceptée :

LocalCommand n'est pas ce que vous voulez, de toute façon. C'est géré par su machine. Vous voulez RemoteCommand . Quelque chose comme ça a marché pour moi :

  Host example.net
  RemoteCommand cd / && exec bash --login
  RequestTTY yes

(Ancienne réponse) Pour un cas d'utilisation similaire, ssh -t est également une option :

ssh server -t "cd /my/remote/directory; bash --login"

Ce n'est pas la même chose, car elle n'utilise pas la configuration ssh. Mais vous pouvez définir un alias pour la commande et obtenir un effet similaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X