GNU/Linux >> Linux の 問題 >  >> Linux

安全なファイル転送のためにSFTPコマンドを使用する方法

このチュートリアルでは、sftpコマンドを使用してファイルを安全に転送する実際の例を示します。

SFTPとは

SFTP Secure File Transfer Protocolの略です 。 「S」は、ファイル転送サービスが実行する安全な暗号化トンネルであるSSH(またはSecure Shell)を表すこともあります。

SFTPは、リモートシステムを介してファイルを安全に転送するための一般的な方法です。 sftp コマンドは通常、OpenSSHパッケージの一部です。

SSH v2.0を拡張して、安全なファイル転送機能を強化するように設計されています。さらに、sftp コマンドラインインターフェイスはftpに似ています コマンド。

FTPとSFTPの違いは何ですか

従来のFTPプロトコルと比較すると、SFTPはFTPのすべての機能を提供しますが、より安全で構成が簡単です。 FTPとは異なり、SFTPは単一のデータと制御チャネルを使用します。

SFTPは、2台のコンピューター間で情報を共有する前に、クライアントのIDを確認し、安全な接続が確立されると、暗号化されたデータを送信します。

そのため、SFTPは、その基盤となるセキュリティ機能のため、ほとんどすべての場合にFTPよりも推奨されます。

SCPとSFTPの違いは何ですか

あなたはすでに自問しています:SFTPとSCPの違いは何ですか?どちらもSSHで動作しませんか?

これが答えです。 SCPはファイルの転送にのみ使用でき、非対話型です。同時に、SFTPはより複雑で、インタラクティブなコマンドでディレクトリを作成したり、ディレクトリやファイルを削除したりできます。

SFTPコマンドの使用方法

FileZillaなどのクライアントが言及しているようにSFTPに接続できます。それ以外の場合は、基本的なコマンドを使用してコマンドラインインターフェース内で使用できます。

SFTPは、ユーザー名とパスワード、SSHキー、または組み合わせなど、接続認証のためのいくつかの方法も提供します。

SFTPは、デフォルトで、SSHのデフォルトポートであるポート22を使用します。これはSSHのサブシステムであり、すべてのSSH認証メカニズムをサポートしています。

SFTP接続の確立

LinuxシステムまたはmacOSターミナルからコマンドラインSFTPを使用できます。

sftp [REMOTE_USER]@[REMOTE_SERVER]

たとえば、ユーザー名がjohnの場合 、ホストのアカウントに接続するにはmyserver.com 、次のように入力します:

sftp [email protected]

プロンプトが表示されたら、パスワードを入力します。すべてが期待どおりに進むと、sftpが表示されます プロンプトが表示され、リモートサーバーとの対話を開始できます。

Connected to myserver.com.
sftp>

22以外のポートへのSFTP

リモートSSHサーバーがカスタムSSHポート(デフォルトのポート22ではない)で動作する場合は、-Pを使用します SFTPポートを指定するオプション。

sftp -P 2222 [email protected]

便利なSFTPコマンド

簡単なチートシートが必要な場合は、使用可能なすべてのSFTPコマンドのリストを以下に示します。このリストは、helpと入力するだけで見つけることができます。 または? コマンド。

コマンド 機能
cd リモートホストのディレクトリを変更します。
chmod リモートホスト上のファイルのアクセス許可を変更します。
チャウン リモートホスト上のファイルの所有者を変更します。
終了 リモートホストへの接続を閉じて、SFTPを終了します。
取得 リモートホストからローカルコンピューターにファイルをコピーします。
lcd ローカルコンピュータのディレクトリを変更します。
lls ローカルコンピュータ上の現在のディレクトリの内容を一覧表示します。
lmkdir ローカルコンピュータにディレクトリを作成します。
lpwd ローカルコンピュータの現在の作業ディレクトリを表示します。
ls リモートホスト上の現在のディレクトリの内容を一覧表示します。
mkdir リモートホストにディレクトリを作成します。
置く ローカルコンピューターからリモートホストにファイルをコピーします。
pwd リモートホスト上の現在の作業ディレクトリを表示します。
名前の変更 リモートホスト上のファイルの名前を変更します。
rm リモートホスト上のファイルを削除します。
rmdir リモートホスト上のディレクトリを削除しますが、ディレクトリは空である必要があります。

SFTPコマンドを使用したファイルの転送

SFTPを使用すると、2台のマシン間でファイルを安全に転送できます。

単一のファイルをダウンロードするには リモートサーバーから、getを使用します コマンド:

sftp> get website-logo.jpg
Fetching /home/john/website-logo.jpg
/home/john/website-logo.jpg        100%  11KB  154.7KB/s  00:00

ディレクトリをダウンロードするには リモートシステムから、-rを使用します (再帰的)オプション。

sftp> get -r images/

ファイルをアップロードするには ローカルマシンからリモートSFTPサーバーに移動するには、putを使用します コマンド:

sftp> put website-logo.jpg
Uploading website-logo.jpg to /home/john/website-logo.jpg
dogtoman-tmp-logo.png              100%  11KB  235.4KB/s  00:00

ローカルディレクトリをアップロードするには リモートSFTPサーバーへ:

sftp> put -r images/

もちろん、上の表に示されている任意のSFTPコマンドを試すことができます。

exitと入力して、接続を閉じます 作業が終わったら。

結論

これは、安全なファイル転送のためにSFTPを使用する方法の基本をカバーしています。このチュートリアルでは、sftpコマンドを使用してファイルをリモートSFTPサーバーにダウンロードおよびアップロードする方法を示します。

この記事が、SFTPの使用法をある程度理解するのに役立つことを願っています。 sftpの詳細については Linuxでコマンドを実行するには、そのマニュアルページを参照してください。

ご不明な点やご意見がございましたら、お気軽にコメントをお寄せください。


Linux
  1. Linux Rsync(リモート同期)コマンドの使用方法

  2. LinuxでTarコマンドを使用する方法

  3. 安全なファイル転送のためにFileZillaを使用してSFTPに接続する方法

  1. CherryTreeを使用してメモを取る方法

  2. SFTPを使用してファイルを転送する方法

  3. Linuxでmd5sumコマンドを使用する方法

  1. Linuxでtouchコマンドを使用する方法

  2. Linuxheadコマンドの使用方法

  3. Linuxのdiffコマンドの使用方法