追加読書

追加読書

Linux Mint 18.3を実行しているネットワーク上の他のコンピュータから小さなファイルをコピーするためにscpを使用しようとしています。

macOSで試してみましたが、次のようになります。

$ scp [email protected]:/home/fyde/Downloads/notes/ubuntu.txt .                          
[email protected]'s password:
\033]4;0;#2b1229\033\\033]4;1;#FFD36D\033\\033]4;2;#6559B6\033\\033]4;3;#E1549E\033\\033]4;4;#788FA3\033\\033]4;5;#778BE1\033\\033]4;6;#D88AA7\033\\033]4;7;#d2d8d2\033\\033]4;8;#939793\033\\033]4;9;#FFD36D\033\\033]4;10;#6559B6\033\\033]4;11;#E1549E\033\\033]4;12;#788FA3\033\\033]4;13;#778BE1\033\\033]4;14;#D88AA7\033\\033]4;15;#d2d8d2\033\\033]10;#d2d8d2\033\\033]11;#2b1229\033\\033]12;#FFD36D\033\\033]13;#d2d8d2\033\\033[s\033[1000H\033[8m\033]708;#2b1229\033\\033[u\033]13;#d2d8d2\033\C0644 6743 ubuntu.txt

Ubuntuコンピュータで試してみて、同様の結果を得ました。

$ scp [email protected]:/home/fyde/Downloads/notes/ubuntu.txt .
[email protected]'s password:
C0644 6743 ubuntu.txt

別のファイルを試してみましたが、同じ結果が得られ、別のコンピュータからコピーしても問題はありません。

何が起こっているのか知っている人はいますか?

ベストアンサー1

ログインシェルの起動スクリプト「bambozling」をめちゃくちゃにしましたscp

scp始める非対話型SSHセッションと呼び出し非対話型ログインシェルいいえ制御端末ただし、シェルの起動スクリプトは、この状況を正しく確認せずに行うことを行います。インタラクティブシェル呼び出しそして制御端末実際、その殻は幸せに誤って家庭端末は特定のタイプの端末です。

この不思議な出力はすべて、さまざまなOSC制御シーケンス(OSCおよびST制御文字のECMA-48 7ビットエイリアス)とCSI制御シーケンス(OSCおよびST制御文字のECMA ␛[-48 7ビットエイリアス)のシェル起動スクリプトコマンド出力です。 。 CSI制御文字)エイリアス)。これらのシーケンスはカラーマップを変更し、端末のスクロールバックに影響を与えようとします。特定の端末エミュレータでのみ動作します。␛/␛]

ただし、SSH接続のローカル側はこれらすべてをローカル端末にミラーリングしません(MacOSを使用していることを考慮すると、iTerm2などの特定の端末エミュレータではない可能性があります)。ローカルscpプログラムは、独自のプロトコルを使用してSSH接続を介して通信することによってファイルコピーメカニズムを期待します。シェルの起動スクリプトが誤って吐き出すすべてのゴミ非対話型モードでも、通信が混乱しています。

問題のあるシェル起動スクリプトを次のように修正します。いいえ非対話型で呼び出された場合、または制御端末がない場合に端末操作を実行しようとします。

追加読書

おすすめ記事