すべてのシェルでリモートログインのコマンドを実行する

すべてのシェルでリモートログインのコマンドを実行する

考える:

  • sshサーバーにアクセスできます
  • どのシェルがあるのか​​わかりません(次回ログインすると、悪魔はシェルを変更します)。
  • fooログインするたびに(非対話式でも)このコマンドを実行したいと思います。
  • ログインするたびにbar(非対話式でも)環境変数を設定したいと思います。quux

特に可能であればいいえ考える:

  • オペレーティングシステム
  • /bin/sh利用可能なシェルに加えて

http://mywiki.wooledge.org/DotFiles(リモート非ログインの非対話型シェル)常にサーバー側の起動ファイルをロードするように "ssh <host> <command>"を設定できますか?Bashのこの点をよく扱っていますが、悪魔がログインシェルをBash以外のものに変更できることを無視しているようです。

ksh、bash、ash、dash、csh、tcsh、zshの同様の技術は何ですか? (/bin/shログインシェルで作成されるのは悪魔のチートと見なされるため、受け入れられる答えではありません。)

ベストアンサー1

次のように試すことができます。

sshd_config:

Match User ed
    ForceCommand "bash -c ";export THING=a;/bin/bash -i""

これは次善策であり、ゴルフをすることができると確信していますが、読者の練習問題として残しておきます。

おすすめ記事