サーバーのSSH帯域幅を制限したいと思います。つまり、各sshdプロセスは200Kb / sまたはそのようなものに制限する必要があります。
scpにはこの機能がありますが、sshは応答性の高いインタラクティブな使用のために設計されているため、このオプションはないようです。ただし、-D(SOCKSプロキシ)機能を何らかの方法でトラフィックを制限する機能と組み合わせたいと思います。
このオプションはありますか?
サーバーのSSH帯域幅を制限したいと思います。つまり、各sshdプロセスは200Kb / sまたはそのようなものに制限する必要があります。
scpにはこの機能がありますが、sshは応答性の高いインタラクティブな使用のために設計されているため、このオプションはないようです。ただし、-D(SOCKSプロキシ)機能を何らかの方法でトラフィックを制限する機能と組み合わせたいと思います。
このオプションはありますか?
回答:
ユーザーを信頼することが方程式の一部であるかどうかはわかりませんtrickle
が、特定のコマンドの速度を制限するには非常に便利です。自宅からパッケージをアップロードするとき、WoW常習者のルームメイトは、そのようなことを忘れると気づきます。
trickle
分岐するプロセスでは動作しません。それにはsshdが含まれます!
scp -l 8192 file.txt user_name@111.111.1.11:/tmp
//8192 = 8192 KB per second
私はこのスレッドがかなり古いことを知っていますが、これが誰かを助けることを願っています。
scp
がsshのかなり具体的なユースケースだからだと推測しています。私はテストscp -l
しましたが、1秒あたりキロビット(kb)であり、キロバイト(kB)ではないことに注意してください。
いくつかのオプションがあります。
一般的な方法は、サーバーとクライアント間のファイアウォール/ルーターのポート22にQoSを実装することです。
それらが同じローカルネットワーク上にある(つまり、間にルーターやファイアウォールがない)場合、IPTablesを使用して帯域幅をポート22に制限できると思います... これを行う方法の詳細については、こちらをご覧ください。
iprelayのようなものを見ることができます:
User-space bandwidth shaping TCP proxy daemon
iprelay can shape the TCP traffic forwarded through it to a specified
bandwidth and allow this bandwidth to be changed on-the-fly. Multiple
data streams to different sockets may be shaped to the same total
bandwidth, much like a traffic shaping router would. However, this
application runs in user space, and works by acting as a TCP proxy.