SSHを介してバイナリファイルを検索するときに\ nの前に\ rが挿入されるのはなぜですか?これをバイパスする方法は何ですか?

SSHを介してバイナリファイルを検索するときに\ nの前に\ rが挿入されるのはなぜですか?これをバイパスする方法は何ですか?

Ubuntu 14.04本番サーバーを継承し、20.04にアップグレードする必要があり、サンドボックスのバージョンを試してみたいので、MacOSまたは他の14.04 virtualboxインスタンスからネットワーク経由でファイルシステムをdump接続しようとしています。restoreこの質問の以前のバージョンは次の場所にあります。https://askubuntu.com/q/1314747/963

サーバーは自分のコンピュータを「見る」ことができないため、簡単にダンプを実行し、結果を自分のコンピュータにリモートでプッシュすることはできませんが、ダンプを実行するには自分のコンピュータでsshを呼び出す必要があります。

ssh -t me@there "echo MYPASSWORD | sudo -S dump -y -f - /boot 2>/dev/null " > boot.dump 

\r問題は、このコマンドを実行すると、文字の前に多数の文字が挿入され、\nダンプファイルが破損してrestore使用できなくなることです。私はこれがおそらくドライバが改行を印刷に必要な文字に変換するためであることを知っていますが、これがどこで起こるのかわかりません。

正しいバイナリダンプファイルを取得するにはどうすればよいですか?

ベストアンサー1

ONLCR .c_oflagこれは、リモートシステムに割り当てられた擬似端末\n(sshオプションのため)によって改行()がキャリッジリターン/改行()に変換されるようにするtermios設定です。\r\nssh-t

オフにするには、次のコマンドを使用しますstty -onlcr

ssh -t me@there 'stty -onlcr; ...' > output

おすすめ記事