ssh_configでRemoteCommandオプションをバイパスする方法

ssh_configでRemoteCommandオプションをバイパスする方法

ssh_config私は定期的に接続するすべてのホストを含​​むファイルを定義しました。私はホストに接続したときにtmuxセッションを開始/接続するのが好きなので、設定にその行を追加RemoteCommand tmux new -ADs remoteしました。問題は、ある時点でSSHを介してrsyncを使用しようとすると(時々使用される)、次のエラーが発生することです。

Cannot execute command-line and remote command.

この問題を解決するには、構成ファイルの対応する行をコメントアウトする必要があり、RemoteCommand後でコメントアウトを削除することを忘れないでください。これは少し迷惑です...

潜在的な回避策(不要または機能しない):

  • -N「リモートコマンドを実行しないでください」というフラグを試しましたが、コマンドは無期限に中断されます。
  • 設定ファイルにエイリアスホストを作成したくありません。これは、1回のマイナーな変更でアイテム数が2倍になるという意味です。
  • Match Hostrsyncを使用しないとリモートコマンドを実行できません

この状況で役立つ可能性のある構成のヒントや回避策を知っている人はいますか?

とても感謝しています!

ベストアンサー1

~からオープンSSH 7.6、コマンドラインオプションがsshありますRemoteCommand。そのディレクティブをオーバーライドするために使用できますssh_confignoneこのパラメータを消去するには設定しますRemoteCommand

したがって、ssh -o RemoteCommand=none ...(またはあなたの場合はおそらくrsync -e 'ssh -o RemoteCommand=none' ...)を使用して、ssh設定ファイルに設定されているリモートコマンドを上書きできます。

少なくともいくつ(現在開いている)抜け穴 レポートssh_config設定を自動的にオーバーライドするようにコマンドライン(存在する場合)で指定されたコマンドを要求します。

おすすめ記事