私のSSHはとても奇妙に動作し、少し不安になりました。基本的に、スケジュールは完全に偽です。あまりにも偽物なので、ほとんど役に立たない。もし他のことが起こっているのではないかと心配されます(詳細は下記参照)。
デフォルトでは、アップロードリンクは約60 KB / sにすぎませんが、実行しているすべてのSCPは2 MB / sと言い始めます。
その後、常に数値を「修正」して、ゆっくりと実際の値に収束しようとします。
その後、「大きな」ファイル(数MB以上)の場合、常に数秒間100%で停止します(最終的に成功し、プロンプトに戻ります)。
出力は次のとおりです。
...
test.tgz 16% 2112KB 2.1MB/s 00:04 ETA
test.tgz 17% 2208KB 1.7MB/s 00:06 ETA
test.tgz 18% 2320KB 1.2MB/s 00:08 ETA
test.tgz 19% 2448KB 1.1MB/s 00:08 ETA
test.tgz 20% 2576KB 942.2KB/s 00:10 ETA
test.tgz 21% 2704KB 697.3KB/s 00:14 ETA
test.tgz 22% 2832KB 576.3KB/s 00:16 ETA
test.tgz 23% 2960KB 478.3KB/s 00:20 ETA
test.tgz 24% 3088KB 399.0KB/s 00:23 ETA
test.tgz 25% 3216KB 334.7KB/s 00:27 ETA
test.tgz 26% 3344KB 282.6KB/s 00:32 ETA
test.tgz 27% 3472KB 240.4KB/s 00:37 ETA
test.tgz 28% 3600KB 185.6KB/s 00:48 ETA
test.tgz 29% 3728KB 161.9KB/s 00:54 ETA
test.tgz 30% 3856KB 142.7KB/s 01:01 ETA
...
(1行にあります。scp -vvv
問題をよりよく説明するために、ここに複数行を貼り付けました。)
最後に、出力が常に100%で停止すると、実際には多くのデータが失われます。反対側でこれを確認しましたが、ファイルがまだ完全に存在していないようです。
すべてのパーセンテージ測定は基本的に意味がありません。 12MBファイルの80%が存在するとすると、約65%しかサーバーにありません。
これをどのように説明できますか?
私のシステムの近くで中間者攻撃が発生した場合(おそらく破損したルーターなど)、この数字がどのように表示されるかを知りたいので、ここに投稿してください。
私は何年もの間LinuxとSSH / SCPを使ってきましたが、何が何であるかを覚えていません。それ去る。
編集する
ダウンロードは期待どおりに機能します。リモートホストからマイコンピュータにscpを実行すると、%、ETA、KB / sはすべて正確です。
答え1
この動作は、出力バッファサイズとTCPウィンドウ設定で簡単に説明できます。
まず、いつ買収データはビットの有無にかかわらず、どちらか一方です。お住まいの地域ではscp
予想される金額とこれまでに受け取った金額がわかっているため、進捗状況と残りの予想時間の正確な評価を提供できます。
あなたがいるとき送るデータが実際に受信機に到達する量に関する情報はまだない。ローカルマシンには、アプリケーション(scp)によって「送信」された後、実際にネットワーク経由で送信される前にデータを保持する出力バッファがあります。また、TCP を使用すると、送信者と受信者の間で一定量のデータを「転送」することができます。
データを送信するときは、scp
最終転送のためにオペレーティングシステムにどれだけのデータが渡されたかを確認してください。出力バッファは非常に急速に満たされたので、scp
最初に高い転送速度が測定された。転送が進むにつれて、この値は実際の転送速度で収束します。オペレーティングシステムにすべてのデータを提供した後でも、もう一方の端に到達する必要があるため、最後に数秒間100%で「停止」したようです。
最新のオペレーティングシステムとTCPネットワークはTCPウィンドウサイズを増やしました(参照:TCPウィンドウのサイズ変更オプション) 高い帯域幅と高いレイテンシで「成長するネットワーク」について説明します。そのため、過去よりもこれらの行動をより頻繁に見ることができます。
答え2
最近、SSH経由で特定の速度を超えてデータをプッシュしようとするたびに、WireSharkでTCP ZeroWindowエラーを表示するという非常に似た問題が発生しました。結局のところ、私のルートでは、IPサービス品質の処理が混乱したものを追跡しました。この設定を sshd_config と ssh_config に追加することで問題が解決しました。
IPQoS=af21 cs1
この設定は、現在のバージョンよりも新しいバージョンのSSHでデフォルト設定になります。https://www.openssh.com/txt/release-7.8