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

LinuxでSFTPクライアントを操作する方法–10sftpコマンド

ファイル転送プロトコルは、コンピューターネットワーク上のサーバーからクライアントへのコンピューターファイルの転送に使用される標準の通信プロトコルです。

FTPはセキュリティが不足しているため、今日では人気がありません。このプロトコルを使用してファイルを送信すると、データ、ユーザー名、およびパスワードがすべてプレーンテキストで共有されます。つまり、ハッカーはほとんどまたはまったく労力をかけずにこの情報にアクセスできます。データを安全にするには、SFTPなどのアップグレードバージョンのFTPを使用する必要があります。

SFTPセキュアファイル転送プロトコルは、リモートコンピュータへの安全なアクセスを提供して安全な通信を提供するファイル転送プロトコルです。 SSH – Secure Socket Shellを活用しており、「Secure ShellFileTransferProtocol」とも呼ばれます。

関連コンテンツ

  • Debian11サーバーでSFTPサーバーをセットアップする方法
  • Pythonスクリプトを使用してSFTPサーバーからファイルをダウンロードする
  • golangを使用してSFTPサーバーからファイルを一覧表示、アップロード、およびダウンロードする
  • OpenSUSELeap15.3サーバーでSFTPサーバーを設定する方法
  • Ubuntu20.04にsftpサーバーをインストールしてセットアップする方法
  • CentOS 8 /RHEL8サーバーでSFTPサーバーをセットアップする方法

前提条件

フォローするには、次のものがあることを確認してください。

  • 接続するSFTPサーバー。サーバーをセットアップする場合は、上記のガイドを確認してください
  • サーバーに接続するための資格情報

目次

  1. SFTPサーバーへの接続
  2. sftpバージョンの確認
  3. リモート作業ディレクトリを表示する
  4. ローカルマシンの作業ディレクトリを表示する
  5. ファイルをsftpサーバーにアップロードする
  6. sftpサーバーからファイルをダウンロードする
  7. sftpサーバーでのディレクトリの作成と削除
  8. sftpサーバー内のファイルを削除する
  9. sftpサーバー内のファイルの名前を変更する
  10. sftpサーバーでのファイル使用状況の確認
  11. 助けを得る

1。 SFTPサーバーへの接続

コマンドラインターミナルを使用して、SFTPへのログインをテストできます。これは、sftpサーバーでローカルに実行することもできます。

ログインコマンドの形式は次のとおりです。

sftp [user]@[host]

サーバーに接続しましょう。 SFTPのユーザー名とパスワードが必要になります。

sftp [email protected]

出力:

$ sftp [email protected]
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is SHA256:99KvuL95zO2CQbC8X0Re/Q+cYrJgqQgzpf1leemnjmY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
[email protected]'s password:
Connected to 192.168.10.10.
sftp>

これにより、サーバーにログインします。デフォルトのディレクトリは/homeです ChrootDirectory /homeで指定されたディレクトリ sshサーバー構成のディレクティブ。

2。 SFTPバージョンの確認

versionコマンドを使用して、sftpのバージョンを確認します。

sftp> version
SFTP protocol version 3
sftp>

3。リモート作業ディレクトリを表示する

リモートサーバー上の現在の作業ディレクトリを確認する必要がある場合は、pwd コマンドが便利です:

sftp> pwd
Remote working directory: /sftpuser1
sftp>

4。ローカルマシンの作業ディレクトリを表示する

ローカルシステムの現在の作業ディレクトリを表示するには、lpwdを使用します コマンド。

sftp> lpwd
Local working directory: /home/ubuntu
sftp>

作成されたユーザーは、そのディレクトリにのみアクセスできます。次のコマンドでそのディレクトリに切り替えましょう:

sftp> cd sftpuser1
sftp>

SFTPユーザーのホームディレクトリに移動し、次のように新しいディレクトリを作成してみてください。

sftp> ls
sftpuser1  ubuntu
sftp> cd sftpuser1
sftp> ls
sftp> mkdir datadir
sftp> ls
datadir

5。 sftpサーバーにファイルをアップロードする

ローカルから行う

次のコマンド構文を使用して、ファイルをリモートサーバーにアップロードします。

$ sftp {user}@{host}:{remote-path} <<< $'put {local-path}'

例:

$ sftp [email protected]:/sftpuser1/ <<< $'put ./citizix.txt'
[email protected]'s password:
Connected to 127.0.0.1.
Changing to: /sftpuser1/
sftp> put ./citizix.txt
Uploading ./citizix.txt to /sftpuser1/citizix.txt
./citizix.txt
sftpサーバーから実行

次のコマンドを使用します:ls ファイルを一覧表示するには、lls ローカルリストの場合は、put ファイルをアップロードする場合:

sftp>
sftp> pwd
Remote working directory: /sftpuser1/datadir
sftp> ls
sftp> lls
citizix.txt  snap  tmp
sftp> put citizix.txt
Uploading citizix.txt to /sftpuser1/datadir/citizix.txt
citizix.txt                                                            100%   32    25.8KB/s   00:00
sftp> ls
citizix.txt
sftp>

一度に複数のファイルをアップロードするには、mputを使用できます 以下の例のようなコマンド。 mputを使用できます data[23]のような正規表現を使用する data2をアップロードするには 、data3 data1を無視します 。 mputでは、任意のワイルドカードまたは正規表現を使用できます 。

sftp>
sftp> pwd
Remote working directory: /sftpuser1/data
sftp> ls
sftp> lls
data1  data2  data3
sftp> mput data[23]
Uploading data2 to /sftpuser1/data/data2
data2                                                                  100%    0     0.0KB/s   00:00
Uploading data3 to /sftpuser1/data/data3
data3                                                                  100%    0     0.0KB/s   00:00
sftp> ls
data2  data3

6。 sftpサーバーからのファイルのダウンロード

ローカルマシンから実行

リモートサーバーからファイルをダウンロードするには、次のコマンド構文を使用します。

$ sftp {user}@{remote-host}:{remote-file-name} {local-file-name}

sftpを使用して1行でファイルをダウンロードするデモは次のとおりです。

# sftp [email protected]:/sftpuser1/citizix.txt .
[email protected]'s password:
Connected to 127.0.0.1.
Fetching /sftpuser1/citizix.txt to ./citizix.txt
/sftpuser1/citizix.txt                                                 100%   32    26.7KB/s   00:00
リモートsftpサーバーから実行

getを使用してサーバーから単一のファイルをダウンロードします 。 data2のダウンロード例

sftp>
sftp> ls
data2  data3
sftp> lls
sftp> get data2
Fetching /sftpuser1/data/data2 to data2
sftp> lls
data2
sftp>

mgetを使用する この例のように複数のファイルをダウンロードするには

sftp>
sftp> ls
data2  data3
sftp> lls
sftp> mget data*
Fetching /sftpuser1/data/data2 to data2
Fetching /sftpuser1/data/data3 to data3
sftp> lls
data2  data3
sftp>

7。 sftpサーバーでのディレクトリの作成と削除

コマンドmkdirを使用します およびrmdir ディレクトリを作成および削除するには

sftp>
sftp> ls
sftp> mkdir data
sftp> ls
data
sftp> rmdir data
sftp>

8。 sftpサーバー内のファイルを削除する

コマンドrmを使用します ファイルを削除するには

sftp> rm data*
Removing /sftpuser1/data/data2
Removing /sftpuser1/data/data3
sftp>

9。 sftpサーバー内のファイルの名前を変更する

renameを使用します ファイルの名前を変更するコマンド

sftp>
sftp> ls
data3
sftp> rename data3 data_original
sftp> ls
data_original
sftp>

10。 sftpサーバーでのファイルシステムの使用状況の確認

「パス」を含む現在のディレクトリまたはファイルシステムの統計を表示します。dfコマンドを使用します。 -hフラグを使用して、人間が読める形式で統計を表示できます。表示される統計は、ローカルマシンのファイルシステムではなく、リモートSFTPサーバーのそれぞれのファイルシステムに関するものであることに注意してください。

sftp> df
        Size         Used        Avail       (root)    %Capacity
    29540600      5917856     22103188     23622744          20%
sftp> df -h
    Size     Used    Avail   (root)    %Capacity
  28.2GB    5.6GB   21.1GB   22.5GB          20%

11。ヘルプを取得する

SFTPで使用可能なコマンドと構文に関するヘルプを取得するには、「?」または「help」を使用してください。

sftp> ?

出力:

sftp> ?
Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
chgrp [-h] grp path                Change group of file 'path' to 'grp'
chmod [-h] mode path               Change permissions of file 'path' to 'mode'
chown [-h] own path                Change owner of file 'path' to 'own'
df [-hi] [path]                    Display statistics for current directory or
                                   filesystem containing 'path'
exit                               Quit sftp
get [-afpR] remote [local]         Download file
help                               Display this help text
lcd path                           Change local directory to 'path'
lls [ls-options [path]]            Display local directory listing
lmkdir path                        Create local directory
ln [-s] oldpath newpath            Link remote file (-s for symlink)
lpwd                               Print local working directory
ls [-1afhlnrSt] [path]             Display remote directory listing
lumask umask                       Set local umask to 'umask'
mkdir path                         Create remote directory
progress                           Toggle display of progress meter
put [-afpR] local [remote]         Upload file
pwd                                Display remote working directory
quit                               Quit sftp
reget [-fpR] remote [local]        Resume download file
rename oldpath newpath             Rename remote file
reput [-fpR] local [remote]        Resume upload file
rm path                            Delete remote file
rmdir path                         Remove remote directory
symlink oldpath newpath            Symlink remote file
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help

詳細については、sftpのマニュアルページを参照してください。

$ man sftp
SFTPセッションを終了します

最後に、byeを使用してsftpを終了できます。 、exit 、またはquit

sftp> exit
$

結論

このガイドでは、SFTPサーバーで実行できる基本的な操作について説明しました


Linux
  1. ArchLinuxでSFTPサーバーをセットアップする方法

  2. Linuxでユーザーとグループを操作する方法

  3. Linux NTP サーバーとクライアントをインストールして構成する方法

  1. Linux サーバーから Windows クライアントに SCP する方法

  2. Linux で tftp クライアントを使用してファイルを配置する

  3. Linux サーバーを Windows DNS サーバーに登録する方法

  1. LinuxでSSHを使用してパーソナルファイルサーバーを作成する方法

  2. Osqueryを使用してLinuxサーバーのセキュリティを監視する方法

  3. NAT を使用して Linux サーバーをルーターとして設定する方法