GNU/Linux >> Linux の 問題 >  >> Linux

サーバーに SSH 接続するときのデフォルト ディレクトリを変更する

解決策 1:

これを実現するには 2 つの方法があります:

  • サーバーのホームディレクトリを /var/www/websites に変更します (これはあまり良い考えではありません)
  • cd /var/www/websites を追加 .bashrc の最後まで .ホームディレクトリではなく /etc/puppet/environments/dkaarsemaker に常駐したいので、パペットマスターでこれを使用しています :-)

解決策 2:

SSH ログインにキーを使用する場合は、先頭に command= を追加してパスを変更できます ~/.ssh/authorized_keys のキーの前に リモコンで サーバ。例:

command="cd /var/www/websites ; /bin/bash -l" ssh-rsa AAA.....rest of the key

同じユーザーに対して複数のキーを生成して使用することは問題ありません。サーバー上の 1 つのキーにはコマンドが含まれている場合があり、もう 1 つのキーには含まれていない場合があります。このようにして、ログイン時に予期される動作を選択できます。 local で簡単にまとめることができます ~/.ssh/config :

Host websites-my-host
    HostName <realhostname>
    IdentityFile ~/.ssh/<key1>  #on the server key with "command"
    User webmaster

Host my-host
    HostName <realhostname>
    IdentityFile ~/.ssh/<key2>  #on the server key without command
    User webmaster

これが起こることです:

local$ ssh websites-my-host
[email protected]:/var/www/websites$ _

または:

local$ ssh my-host
[email protected]:~$ _

解決策 3:

Openssh sshd は、デフォルトでクライアントから次の環境変数を受け入れます:

AcceptEnv LANG LC_*

これを使用して、クライアントのローカル環境からサーバーに次のように値を送信できます:

LC_CDPATH=/var/www/websites ssh -o SendEnv=LC_CDPATH [email protected]

SendEnv ディレクティブを ~/.ssh/config に配置できるため、コマンド ラインに含める必要はありません。

~/.profile に以下を配置すると (対話型ログインのみに影響を与えるには .profile を使用し、すべてのログインに影響を与えるには .bashrc を使用します):

if [ "$LC_CDPATH" -a -d "$LC_CDPATH" ]; then
  cd "$LC_CDPATH";
fi

次に、環境変数が指定されていて、それがディレクトリである場合、ログイン時に環境変数で指定されたディレクトリに自動的に変更します。

解決策 4:

OpenSSH 7.6 以降、新しい RemoteCommand オプションを使用してそれを実現できます。

あなたの ~/.ssh/config で :

Host websites-my-host
    HostName <realhostname>
    IdentityFile ~/.ssh/keyfile
    User webmaster
    RequestTTY force # check if this is necessary
    RemoteCommand cd /var/www/websites && bash -l

Linux
  1. pleskでデフォルトのPHPバージョンを変更する方法

  2. Linuxサーバーのホスト名を変更する

  3. 専用サーバーを使用する場合

  1. Apache サーバーのルート ディレクトリを変更するにはどうすればよいですか?

  2. サーバーに ssh 接続するときに bash を起動するにはどうすればよいですか?

  3. tmux 内からデフォルトの新しいウィンドウ ディレクトリを変更する方法

  1. LinuxでデフォルトのApache「DocumentRoot」ディレクトリを変更する方法

  2. Ssh – Ssh / scp / sftpユーザーをディレクトリに制限しますか?

  3. Nohupをいつ使用するのですか?