SSH圧縮とパフォーマンス最適化

圧縮、暗号スイートの選択、多重化によるSSH接続パフォーマンスの最適化。低速接続での速度向上と高速接続でのオーバーヘッド削減。

Best Practices

詳細な説明

SSHパフォーマンス最適化

圧縮、暗号スイートの選択、接続の多重化を調整することでSSHパフォーマンスをチューニングできます。

圧縮設定

Host slow-connection
  HostName remote.example.com
  User developer
  Compression yes

Host fast-connection
  HostName nearby.example.com
  User developer
  Compression no

圧縮を使用する場面

ネットワーク 圧縮 理由
低速/高レイテンシ yes 転送データ量を削減
高速LAN no CPUオーバーヘッドが帯域幅の節約を上回る
既に圧縮済みデータ no 再圧縮はCPU負荷のみ増加

接続の多重化

多重化は単一のSSH接続を複数のセッションで再利用し、繰り返しのハンドシェイクのオーバーヘッドを排除します:

Host *
  ControlMaster auto
  ControlPath ~/.ssh/sockets/%r@%h-%p
  ControlPersist 600

ソケットディレクトリを先に作成: mkdir -p ~/.ssh/sockets

暗号スイートの選択

信頼できるネットワークでの最速パフォーマンス:

Host trusted-lan
  Ciphers aes128-gcm@openssh.com,chacha20-poly1305@openssh.com

aes128-gcmはAES-NIサポート付きハードウェア(最新のCPU)で最速です。chacha20-poly1305はAES-NIなしのシステム(一部のARMデバイス)で最速です。

ユースケース

低速ネットワーク接続、頻繁な再接続、ホスト間の大容量ファイル転送のためにSSHパフォーマンスを最適化する必要があるユーザー。

試してみる — SSH Config Generator

フルツールを開く