NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
JA

Linux コマンドとシェル スキル

sftp: SSH バジェットでのファイル転送

sftp は SSH 内で動作します。まさにそれが、他の製品よりも長生きした理由です。キー、chroot、ジャンプ ホスト、監査証跡はすべて無料で提供されます。 OpenSSH は、バージョン 9.0 で scp をひっそりと SFTP プロトコルに移動しました。これは、SFTP が実際のプロトコルの役割 (ディレクトリのリスト、mkdir、アクセス許可、名前の変更) を果たしており、プロトコルでの予期せぬ事態がはるかに少ないためです。インタラクティブ SFTP は 1 回限りの移動には適しています。自動化はバッチ モード、終了コード、および rsync への時折の謝罪を通じて実行されます。

要点

  1. 自動化はバッチ モードです。 sftp -bバッチ.txt user@host はコマンドのファイルを実行し、失敗するとゼロ以外で終了し、-b - を使用して標準入力から読み取ります。無人のパスワード プロンプトは、バグ バッチ モードにより 2 倍の速さで削除され、安全性が向上します。
  2. コマンド セットは意図的に小さくなっています。セッション内の ls -l、mkdir、put -p (タイムスタンプを保持)、get -r (再帰)、chmod、および df -h は、操作上のニーズの 95% をカバーします。
  3. rsync がいつ勝つかを知る: sftp はファイル全体を再送信しますが、ssh 経由の rsync -avz --partial はデルタを移動し、サイレントに何もプルーニングせず、バルク アーカイブが実際に気にするメタデータを保持します。
  4. サーバー側では、sftp はフェンスです。ChrootDirectory を含む Match ブロック内の ForceCommand Internal-sftp は、アカウントを、シェルをまったく持たない、暗号化され監査されたドロップ ボックスに変換します。
  5. 「sftp は機能するが、シェルは機能しない」は設計であり、バグではありません。サブシステムの sftp Internal-sftp 行がそれを可能にするものであり、OpenSSH 9.0 で scp が SFTP に移行したことは、サブシステムのないレガシー サーバーが古い scp ジョブを中断する可能性があることを意味します。
  6. Cron の使用は失敗の動作に基づいて判断されます: -o BatchMode=yes、-o ConnectTimeout=10、および明示的な終了コード チェックにより、サイレント ハングが大音量のページング可能な失敗に変わります。
  7. 進行状況の出力はノイズ制御されています。sftp はおしゃべりですが、cron ログは静かです。 -q (またはリダイレクト) に加えて sshd 側でログを記録すると、ギガバイト単位の転送バーにならない監査証跡が得られます。
  8. キャリアを構成する 1 つのタイプミス: sftp -P 2222 は大文字の P (小文字の -p は保持を意味します) ですが、scp は同じ文字の規則を交換しました。ポートが間違っている場合は、まずケースを確認してください。

現場ノート

かつて、cron sftp ジョブが、予期せぬパスワード プロンプトにより、誰も気付かないうちに 6 時間ハングしていました。それ以降のスクリプト化された転送はすべて、-b、-o BatchMode=yes を取得し、待機する代わりにページングする終了コード チェックを実行します。

よくある質問

OpenSSH 9.0 は本当に scp を変更しましたか?

表面ではなくプロトコルです。scp は、その下の SFTP 経由でファイルを移動するようになりました。そのため、sftp サブシステムを持たないホストは、従来の scp ジョブを静かに中断します。修正はサブシステムを有効にすることであり、習慣を元に戻すことではありません。

sftp をまったく使用せずに単一のファイルを移動できますか?

はい: cat bigfile.bin | ssh user@host 'cat > /tmp/bigfile.bin' はポータブルなワンパイプ転送です。履歴書やメタデータはありませんが、SSH が機能する場所であればどこでも機能し、まさにそのユースケースです。

sftp は scp や rsync より遅いですか?

場合によっては、ファイルごとのプロトコルのオーバーヘッドとデフォルトのバッファリングがバルク ディレクトリ ツリーに表示されることがあります。最適化する前にリンクを測定してください。通常、rsync は苦情が「遅すぎる」場合に応答することを覚えておいてください。

シェルアクセスなしでサードパーティにアップロードを許可するにはどうすればよいですか?

ChrootDirectory、ForceCommand external-sftp、および書き込み可能なサブディレクトリを備えた専用アカウント。キー、ジェイル、タイムアウト、ログ レビューが含まれており、招待ではなくドロップ ボックスです。

linux コマンドとシェル スキル に対するKinetikatechの支援

シンプルな提案です:管理者がサーバーを操作するかサーバーと戦うかを決定するコマンドとスクリプトの習慣。すべての基本インストールに存在するツールを使用して、テキストとプロセスを検索、変換、転送、監視します。 Linuxサーバーセキュリティとサーバー管理サービスにお任せください。徹底的に評価され、クリーンに実装され、24時間監視されます。

エンジニアに相談する

サーバーの障害?サイトの改ざん?表示が遅い?

重大な障害には30分以内に対応 — 24時間365日体制です。

緊急サポートを依頼する support@kinetikatech.com