22

具体的には、ローカルの ssh 構成ファイル(ターミナルではない)を使用して、リモートの場所にある特定のディレクトリに ssh する方法はありますか? Dirたとえば、以下の段落のオプションのようなもの

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

したがって、上記の段落の Host 値を使用して ssh を実行すると、

ssh remote_dir

path/to/remote_dir/次に、ログインして、リモートサーバーでターミナルを準備したいと思います。

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

2 に答える 2

24

ServerFault に関するこの投稿では、ssh 構成ファイルを使用してすべてを実行することはできないと述べています。ただし、ssh構成と.bash_profile、または端末オタクが呼ぶものなら何でも使用できます。ssh構成ファイルに追加

Host dev
  Hostname server.com
  User joe

次に、.bash_profile にエイリアスを追加します

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

ここで は、dev構成ファイルで設定したものを指します。

ターミナルで と入力するだけdomain1で、パスワードを入力するように求められ、ディレクトリに直接移動します。すべてのドメインに新しいエイリアスを作成すると、それぞれのドメインへのログインが非常に簡単になります。

于 2013-01-17T21:57:17.267 に答える
14

https://serverfault.com/questions/167416/change-directory-automatically-on-ssh-loginを ご覧ください

これは受け入れられた答えです:

LocalCommandとにかく、あなたが望むものではありません。それはあなたのマシンで実行されます。あなたがしたいRemoteCommand。このようなものが私のために働いた:

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

(古い回答)同様のユースケースの場合、ssh -tオプションもあります:

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

ssh config を使用しないため、同じではありません。ただし、コマンドのエイリアスを定義して、同様の効果を得ることができます。

于 2013-01-17T21:22:36.483 に答える