Linuxのリモートサーバーでファイルを転送するための10のsFTPコマンドの例


ファイル転送プロトコル(FTP)は、暗号化されていない形式でファイルまたはデータをリモートで転送するために広く使用されているプロトコルであり、安全な通信方法ではありません。すべての送信はクリアテキストで行われ、ネットワーク上のパケットをスニッフィングしている間は誰でもデータを読み取ることができるため、ファイル転送プロトコルはまったく安全ではないことは誰もが知っています。

したがって、基本的にFTPは、限られた場合や信頼できるネットワークで使用できます。一定期間にわたって、SCPとSSHはこのセキュリティのあいまいさに対処し、リモートコンピュータ間でデータを転送する際に暗号化されたセキュアレイヤーを追加しました。

SFTP(Secure File Transfer Protocol)は、デフォルトで標準ポート22のSSHプロトコルを介して実行され、安全な接続を確立します。 SFTPは、多くのGUIツール(FileZilla、WinSCP、FireFTPなど)に統合されています。

セキュリティ警告:SSHポート(Secure SHell)をグローバルに開かないでください。これは、セキュリティ違反になる可能性があります。リモートシステムでファイルを転送または管理する場所から、またはその逆の特定のIPに対してのみ開くことができます。

  1. 5 Best Practices to Secure and Protect SSH Server
  2. 10 Wget Command Examples in Linux

この記事では、インタラクティブなコマンドラインインターフェイスを介して使用するための10のsftpコマンドの例を紹介します。

1.SFTPに接続する方法

デフォルトでは、同じSSHプロトコルがSFTP接続の認証と確立に使用されます。 SFTPセッションを開始するには、コマンドプロンプトでユーザー名とリモートホスト名またはIPアドレスを入力します。認証が成功すると、sftp>プロンプトが表示されたシェルが表示されます。

[[email protected] ~]# sftp [email protected]

Connecting to 27.48.137.6...
[email protected]'s password:
sftp>

2.ヘルプを取得する

一度、sftpプロンプトで、コマンドプロンプトで「?」または「help」と入力して、使用可能なコマンドを確認します。

sftp> ?
Available commands:
cd path                       Change remote directory to 'path'
lcd path                      Change local directory to 'path'
chgrp grp path                Change group of file 'path' to 'grp'
chmod mode path               Change permissions of file 'path' to 'mode'
chown own path                Change owner of file 'path' to 'own'
help                          Display this help text
get remote-path [local-path]  Download file
lls [ls-options [path]]       Display local directory listing
ln oldpath newpath            Symlink remote file
lmkdir path                   Create local directory
lpwd                          Print local working directory
ls [path]                     Display remote directory listing
lumask umask                  Set local umask to 'umask'
mkdir path                    Create remote directory
put local-path [remote-path]  Upload file
pwd                           Display remote working directory
exit                          Quit sftp
quit                          Quit sftp
rename oldpath newpath        Rename remote file
rmdir path                    Remove remote directory
rm path                       Delete remote file
symlink oldpath newpath       Symlink remote file
version                       Show SFTP version
!command                      Execute 'command' in local shell
!                             Escape to local shell
?                             Synonym for help

3.現在の作業ディレクトリを確認します

コマンド「lpwd」はローカルの現在の作業ディレクトリを確認するために使用され、「pwd」コマンドはリモートの作業ディレクトリを確認するために使用されます。

sftp> lpwd
Local working directory: /
sftp> pwd
Remote working directory: /tecmint/
  1. lpwd – print the current directory on your system
  2. pwd – print the current directory on the ftp server

4.ファイルの一覧表示

ローカルシステムとリモートシステムのファイルとディレクトリを一覧表示します。

sftp> ls
sftp> lls

5.ファイルをアップロードします

リモートシステムに単一または複数のファイルを配置します。

sftp> put local.profile
Uploading local.profile to /tecmint/local.profile

6.複数のファイルをアップロードする

リモートシステムに複数のファイルを配置します。

sftp> mput *.xls

6.ファイルをダウンロードする

ローカルシステムで単一または複数のファイルを取得する。

sftp> get SettlementReport_1-10th.xls
Fetching /tecmint/SettlementReport_1-10th.xls to SettlementReport_1-10th.xls

ローカルシステムで複数のファイルを取得します。

sftp> mget *.xls

注:デフォルトでは、同じ名前のローカルシステムのgetコマンドダウンロードファイルで確認できます。最後に名前を指定して別の名前のリモートファイルをダウンロードできます。 (これは、単一ファイルのダウンロード中にのみ適用されます)。

7.ディレクトリの切り替え

ローカルおよびリモートの場所で、あるディレクトリから別のディレクトリに切り替える。

sftp> cd test
sftp>
sftp> lcd Documents

8.ディレクトリを作成します

ローカルおよびリモートの場所に新しいディレクトリを作成します。

sftp> mkdir test
sftp> lmkdir Documents

9.ディレクトリを削除します

リモートシステムのディレクトリまたはファイルを削除します。

sftp> rm Report.xls
sftp> rmdir sub1

注:リモートロケーションからディレクトリを削除/削除するには、ディレクトリが空である必要があります。

10.sFTPシェルを終了します

‘!‘コマンドは、Linuxコマンドを実行できるローカルシェルにドロップします。 「exit」コマンドを入力すると、sftp>プロンプトが返されます。

sftp> !

[[email protected] ~]# exit
Shell exited with status 1
sftp>

結論

SFTPは、サーバーを管理し、(ローカルおよびリモート)との間でファイルを転送するための非常に便利なツールです。このヒントが、SFTPの使用法をある程度理解するのに役立つことを願っています。