無効な設定オプション:scpにコントロールマスターがある間にControlPersistがありますか?

無効な設定オプション:scpにコントロールマスターがある間にControlPersistがありますか?

SCPwithを使用してファイルをコピーしていますが、ControlMaster何らかの方法でこのエラーが再発生します。

command-line: line 0: Bad configuration option: ControlPersist
command-line: line 0: Bad configuration option: ControlPersist
command-line: line 0: Bad configuration option: ControlPersist
command-line: line 0: Bad configuration option: ControlPersist
command-line: line 0: Bad configuration option: ControlPersist

これは私のシェルスクリプトです -

#!/bin/bash

export PRIMARY=/filetransfer/test01/primary
readonly SERVERS_LOCATION=(machineB machineC)
export SERVERS_LOCATION_1=${SERVERS_LOCATION[0]}
export SERVERS_LOCATION_2=${SERVERS_LOCATION[1]}
export MAPPED_LOCATION=/data/snapshot
FILE_PARTITION=(550 274)

export dir3=$MAPPED_LOCATION/20140510

find "$PRIMARY" -mindepth 1 -delete

do_CopyFiles() {
  el=$1
  scp -o ControlMaster=auto -o 'ControlPath=~/.ssh/control-%r@%h:%p' -o ControlPersist=900 david@$SERVERS_LOCATION_1:$dir3/pp_week_1543_"$el"_200003_5.data $PRIMARY/. || scp -o ControlMaster=auto -o 'ControlPath=~/.ssh/control-%r@%h:%p' -o ControlPersist=900 david@$SERVERS_LOCATION_2:$dir3/pp_week_1543_"$el"_200003_5.data $PRIMARY/.
}
export -f do_CopyFiles
parallel -j 5 do_CopyFiles ::: "${FILE_PARTITION[@]}"

私は何が間違っていましたか?

これはシェルスクリプトを実行しているコンピュータでのみ発生します。別のコンピュータで同じシェルスクリプトを実行しましたが、正常に動作します。それで、このマシンのいくつかの設定構成が異なるようですが、わかりません。

答え1

このControlPersistオプションはOpenSSH 5.6で初めて登場しました。以前のバージョンを使用している可能性があります。

そうでない場合は、ControlPersist接続が完了したら接続を明示的に終了できます。

答え2

最も明確な答えは、すべてのシステムに同じバージョンがなく、scp一部のシステムではそれをサポートしていないことです-o ControlPersist

しかし、ControlMasterは本当に必要ですか?あなたがすることの違いを実際に測定できますか?

rsyncを見ることもできます。

関連情報