ssh_config:ログイン時にリモートコンピュータで実行するコマンドを指定します。

ssh_config:ログイン時にリモートコンピュータで実行するコマンドを指定します。

これは私の以前の拡張です。質問。私ローカルに保存mount /homeログイン時にリモートシステム(sshなど)でコマンドを実行します。現在私は以下を使用しています:

ssh -t mymachine.example.com 'mount /home ; /bin/bash'

.ssh/configこれはうまくいきますが、毎回入力する必要がないようにこれをコマンドに入れることができるかどうか疑問に思います。オプションが見つかりLocalCommandましたが、オプションは表示されませんRemoteCommand

command-to-be-executedこのファイルには暗号化されたディスクを開くために必要なパスワードが含まれているため、コンピュータにローカルに保存することが重要です。そのため、.profileリモートコンピュータにコマンドを配置できません。

答え1

RequestTTY yes
RemoteCommand screen -UDr

答え2

これはOpenSSH 7.6に追加されました。

クライアントのコマンドラインからコマンドを提供する代わりに、SSH設定ファイルでコマンドを指定するRemoteCommandオプションが追加されました。これにより、構成ファイルはリモート・ホストで実行されるコマンドを指定できます。

引用:https://www.openssh.com/txt/release-7.6

答え3

この質問は、以前はSuperUserから要求されました。最初の答えは要件を満たさないリモートファイルを使用しますが、ローカルエイリアスの使用を提案する2番目の答えは問題の解決策かもしれません。

実行するコマンドには暗号化されたディスクを開くために必要なパスワードが含まれているため、ローカルコンピュータに保存することが重要です。そのため、リモートシステムの.profileにコマンドを入れることはできません。

これは安全ではない可能性があります。このコマンドをsshコマンドとして使用すると、リモートサーバーechoに表示されます。ps

martin@martin ~ % ssh dev2 "echo hello; ps aux|grep echo"

hello
root     25358  0.0  0.0   5848  1296 ?        Ss   11:27   0:00 bash -c echo hello; ps aux|grep echo
root     25362  0.0  0.0   5012   828 ?        S    11:27   0:00 grep echo

答え4

まだ試していませんが、1つのアプローチは次のとおりです。

  • Subsystem一部の環境変数を読んで、リモート文でsshd_config目的のコマンドを実行します。
  • SendEnv.ssh/configそのキーをリモートサーバーに転送するには、ローカルで使用してください。

関連情報