ファイル転送プロトコルは、コンピューターネットワーク上のサーバーからクライアントへのコンピューターファイルの転送に使用される標準の通信プロトコルです。
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サーバー。サーバーをセットアップする場合は、上記のガイドを確認してください
- サーバーに接続するための資格情報
目次
- SFTPサーバーへの接続
- sftpバージョンの確認
- リモート作業ディレクトリを表示する
- ローカルマシンの作業ディレクトリを表示する
- ファイルをsftpサーバーにアップロードする
- sftpサーバーからファイルをダウンロードする
- sftpサーバーでのディレクトリの作成と削除
- sftpサーバー内のファイルを削除する
- sftpサーバー内のファイルの名前を変更する
- sftpサーバーでのファイル使用状況の確認
- 助けを得る
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サーバーで実行できる基本的な操作について説明しました