ホストにSSHで接続するときにシェル設定情報をプッシュする方法はありますか?

ホストにSSHで接続するときにシェル設定情報をプッシュする方法はありますか?

私はGNOME端末(またはxterms!)の最後の終了コードを緑/赤にするように求めるメッセージを設定する方法を知っています。

vi .bashrc

export PROMPT_COMMAND='PS1="`
if [[ \$? = "0" ]];
then echo "\\[\\033[0;32m\\]";
else echo "\\[\\033[0;31m\\]";
fi`[\u@\h \w]\[\e[m\] "'

export PS1

写真の中:

ここに画像の説明を入力してください。

しかし、リモートサーバーにログインすると、これらの色設定は機能しません!

リモート端末で動作するようにどのように設定しますか?残念ながら、上記の行をリモートサーバーに追加することはできません.bashrc

ベストアンサー1

リモートシェルに表示されるプロンプトを変更しようとしています。もちろん、これを行うには、リモートシェルの設定ファイルです.bashrc

ファイルを変更したくない場合は、実際にその共有アカウントを使用する必要があり(共有アカウントに必要な苦情を挿入して)、SSHを介してログインしている場合(ab)、次のことがcommand=できます。~/.ssh/authorized_keys文書。コマンドオプションを含むキーストロークは、指定されたコマンドの実行にのみ適用されます。ただし、Authorized_keysファイルのコマンドランタイム環境変数はカスタムSSH_ORIGINAL_COMMANDコマンドに設定されます(対話型セッションの場合は空です)。したがって、次のものを使用できます~/.ssh/authorized_keys

command="HOME=$HOME/.HOME.lance;
         if [ -n \"$SSH_ORIGINAL_COMMAND\" ]; then
           eval \"$SSH_ORIGINAL_COMMAND\";
         else exec \"$SHELL\"; fi" ssh-rsa AAAA…== [email protected]

読みやすいように上記の改行を追加しましたが、実際にはすべてauthorized_keysファイル内の1行にする必要があります。

次に、お気に入りの設定ファイルを適切なディレクトリ.HOME.lanceに保存します。

場合によっては、明示的に設定ファイルを取得するか、シェルコマンドを実行できます。-t対話型コマンドを実行するには、端末を持つオプションを渡します。

ssh shared-account@server "LS_COLORS='$LS_COLORS' ls --color"
ssh -t shared-account@server '. ~/.profile.drew; exec zsh'

リモートコンピュータのファイルを編集またはコピーする場合は、ネットワークファイルシステムを使用できます。SSHFS(UNIXクライアントの場合)または徒歩旅行者(Emacsの場合)ローカル環境で快適に作業できます。

おすすめ記事