2012-02-27 11 views
3

私はssh経由でたくさんのリモートマシンで作業しています。 すべてのsshセッションで共通の.profile(またはsshやその他のエイリアス)を使用する必要があります。すべてのsshセッションで変更する必要があります(再ログインする必要はありません)。時間。sshログイン後にコマンドを実行します

可能性はありますか?

"PermitUserEnvironment"を設定して自分自身の "VAR = VALUE"を設定できることを読んだが、カスタムスクリプトはどうですか?たとえば、 "set -o vi"のようなものを実行したいと思います...

+0

なぜ共通の.profile/.loginをインストールしないのですか? –

+0

申し訳ありませんが、私はLinuxでかなり "noob"です...もっとうまく説明できますか? –

+0

ご質問の通り、共通の.profileファイル(またはシェル/ディストリビューションが読んでいるものであれば.login)を使用することで、これを実現できます。そのファイルをすべてのホストにコピーする場合は、同じ環境を使用する必要があります。 –

答えて

1

正解は、.profileまたは.bashrcのコピーを各マシンに持つことです。

小さなシェルスクリプトを作成し、そのようなファイルを問題の各ボックスに書き込むだけです。

 
for i in list_of_machines 
do 
    scp .profile $i: 
done 

のような3つのライナーはあなたのためにそれを行います。

$(cat filename) のようなシェルの$()表記を使用してファイルの一覧を取得したり、実際に使用している場合はプログラムで生成することができます。

これらが仮想ホストである場合や、自動的に生成される他の種類のクラウドのクラウドの場合は、マシンの作成時にアカウントに.profileを入れてください。

0

あなたのSSHクライアントとしてPuTTYを使用する場合は、[接続] - > [SSH]メニューの[SSH接続を制御するオプション]を使用できます。 「リモートコマンド」ボックスにコマンドを入力します。設定をデフォルト設定として保存すると、すべての新しいセッションにあらかじめ設定されます。

+1

しかし、あなたはログインシェルを持っていませんが、実行されたコマンドの出力のみ... – glglgl

関連する問題