ssh-agent がキーに対して行うように、アクセスするサーバーにドットファイルを取得できるようにするものを構築しようとしています (または、存在する場合は見つけようとしています)。
私は仕事で EC2 を使用することに多くの時間を費やしていますが、新しいインスタンスを起動するときに、ドットファイル (.vimrc、.gitconfig、および私のエイリアスのほとんど) が手元にないのは嫌いです。
私はすべてのドットファイルを git の下に保持し、公開していますが、これはいくつかの理由で十分な解決策ではありません:
- gitをインストールできず、インターネットに簡単にアクセスできない本番ホストにsshします。
- 私は実行元の AMI を制御していないため、ドットファイルを焼き込めません。また、通常は ubuntu または root ユーザーを共有し、ホストで専用のユーザー名を使用することはめったにありません (そのため、ドットファイルを複製してそこに残すことはできません)。
今のところ、これを 1 レベルの ssh だけで動作するように構築できて満足しています。つまり、A -> B -> C です (B のみがドットファイルにアクセスでき、C がそれらを失う場合は問題ありません)。
私は次のようなことを考えています:
ssh -t -R 1234:localhost:1234 user@server 'export USE_DOTFILES_AGENT=1 ; exec $SHELL'
私のローカルホストの1234でドットファイルを提供するものがあるので、私の質問は次のとおりです。
削除側のプログラムにソケットからドットファイルを読み込ませる最善の方法は何ですか (反対側に必要なものをすべて入れてください)。
編集: apmasellの回答は役に立ちますが、私はそのようなハイテクソリューションを考えていませんでした. おそらく、そのポートから /tmp/_vimrc への wget の行に沿って何かを追加し、vim に何らかの方法でそれをロードさせます (を実行してalias vim=vim <flag for where to find vimrc>
)。