什么是 SFTP ?
FTP( File Transfer Protocol )文件传输协议,是一种常用来在两终端系统之间传输文件的方法。
SFTP ,即 SSH 文件传输协议( SSH File Transfer Protocol ),或者说是安全文件传输协议( Secure File Transfer Protocol )。SFTP 是一个独立的 SSH 封装协议包,通过安全连接以相似的方式工作。它的优势在于可以利用安全的连接传输文件,还能遍历本地和远程系统上的文件系统。
在大多数情况下,优先选择 SFTP 而不是 FTP ,原因在于 SFTP 最基本的安全特性和能利用 SSH 连接的能力。FTP 是一种不安全的协议,应当只有在特定的情况下或者你信任的网络中使用。
How to Use
To connect to a remote sftp server, first establish an secure SSH connection and then create an SFTP session as shown.
sftp -P <port number> username@remote_hostname_or_IP
Operations
Check operations with help
How to Upload a Directory Using sFTP
First create a directory with the same name on the remote host, before uploading it from the local host, the -r does the magic, enabling subdirectories and subfile to be copied as well:
sftp> mkdir testdir
sftp> put -r testdir
# for file upload use:
sftp put testfile.zip
# check file size
sftp ls -lah
To preserve the modification times, access times, and modes from the original files transferred, use the -p flag.
sftp> put -pr testdir
How to Download a Directory Using sFTP
To download a whole directory called fstools-0.0 from remote Linux host to local machine, use the get command with the -r flag as follows:
sftp> get -r testdir
To quite the sFTP shell, type:
sftp> bye
# OR
sftp> exit