sshが/dev/ttyを開くことができない場合、rsyncは失敗します。

sshが/dev/ttyを開くことができない場合、rsyncは失敗します。

一部のファイルをリモートコンピュータに同期する必要があるスクリプトがあります。 rsyncコマンドは次のとおりです。

rsync -avz -e 'ssh -vv -o IdentitiesOnly=yes -i /data/credentials/rsync2.key' \
   --rsync-path="mkdir -p ~/new_data/12345/ && rsync" \
   /data/new_data/  some_user@$REMOTE_HOST_IP:~/new_data/12345/

スクリプトの出力は次のとおりです。

...
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) 送信
debug1: SSH2_MSG_KEX_DH_GEX_GROUP が必要です。
debug2:dh_gen_key:プライバシーキービットセット:134/256
デバッグ2:ビット設定:505/1024
debug1: サーバーホストキー: RSA XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
debug1: read_passphrase: 開けません。 /dev/tty: そのデバイスまたはアドレスがありません。
ホスト鍵の検証に失敗しました。
rsync:接続が予期せず終了しました(今まで0バイト受信しました)[発信者]
rsyncエラー:io.c(605)[sender = 3.0.9](コード255)で説明できないエラーが発生しました。

SSHがキーにパスワードを使用しようとしているようです。いいえ、キーにはパスワードは必要ありません。また、/dev/tty私のスクリプトがメッセージの存在を確認したので、問題のメッセージが完全に正確ではないと確信しています/dev/ttyls -l上記のようにcrw-rw-rw- 1 root root 5, 0 Feb 23 19:37 /dev/tty:)。また、キーを使用してSSH経由でリモートホストに手動で接続できるため、キーファイルが有効であることもわかります。

ここで1つの問題は、私のスクリプトがDockerコンテナで実行されており、これがrsyncとsshにどのような影響を及ぼすのかわかりません。

関連情報