File Transfer Protocol
(FTP
) 是一种广泛使用的协议,用于以未加密的格式远程传输文件或数据,这不是一种安全的通信方式。 众所周知File Transfer Protocol
根本不安全,因为所有传输都以明文形式进行 所以,FTP
可以在有限的情况下或在你信任的网络上使用。SCP和SSH解决了这种安全缺陷,并在远程计算机之间传输数据时添加了一个加密的安全层。 sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。Security Warnings
: 请不要全局打开SSH端口 (Secure SHell
) ,因为这将是一个安全漏洞。你只能打开要在远程系统上传输或管理文件的特定 IP,反之亦然。
SSH session
1. 如何连接到 SFTP
代码语言:javascript复制默认情况下,使用相同的 SSH 协议进行身份验证和建立 SFTP 连接。要启动 SFTP 会话,请在命令提示符下输入用户名和远程主机名或 IP 地址。身份验证成功后,你将看到一个
sftp>
。
[root@rumenz ~]# sftp -P 22 zhaoShanHe@192.168.0.100
Connecting to 1..
rumenz@192.168.0.100's password:
sftp>
代码语言:javascript复制秘钥登录
> sftp -P 22 -i ~/.ssh/id_rsa zhaoShanHe@192.168.0.100
2. 帮助
代码语言:javascript复制你在
sftp prompt
, 通过键入 检查可用命令?
或者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.检查当前工作目录
代码语言:javascript复制命令
lpwd
用于检查Local
当前工作目录,而pwd 命令用于检查Remote
工作目录。
sftp> lpwd
Local working directory: /
sftp> pwd
Remote working directory: /zhaoyanfei/
lpwd
– 打印系统上的当前目录pwd
– 打印 ftp 服务器上的当前目录
4. 使用 sftp 列出文件
列出本地和远程系统 ftp 服务器中的文件和目录。
远程
sftp> ls
本地
sftp> lls
5. 使用 sftp 上传文件
代码语言:javascript复制将单个或多个文件放在远程系统 ftp 服务器中。
sftp> put local.profile
Uploading local.profile to /rumenz/local.profile
6. 使用 sftp 上传多个文件
代码语言:javascript复制将多个文件放在远程系统 ftp 服务器上。
sftp> mput *.xls
7. 使用 sftp 下载文件
代码语言:javascript复制在本地系统中获取单个或多个文件。
sftp> get SettlementReport_1-10th.xls
Fetching /zhaoYanFei/SettlementReport_1-10th.xls to SettlementReport_1-10th.xls
代码语言:javascript复制在本地系统上获取多个文件。
sftp> mget *.xls
Note
: 正如我们在默认情况下看到的get command
在本地系统中下载同名文件。我们可以通过在末尾指定名称来下载具有不同名称的远程文件。
8. 在 sftp 中切换目录
在本地和远程位置从一个目录切换到另一个目录。
远程
代码语言:javascript复制sftp> cd test
sftp>
本地
代码语言:javascript复制sftp> lcd Documents
9. 使用 sftp 创建目录
代码语言:javascript复制在本地和远程位置创建新目录。
sftp> mkdir test
sftp> lmkdir Documents
10. 使用 sftp 删除目录
代码语言:javascript复制删除远程系统中的目录或文件。
sftp> rm Report.xls
sftp> rmdir sub1
Note
: 要从远程位置移除/删除任何目录,该目录必须为空。
11. 退出 sftp Shell
代码语言:javascript复制输入
!
命令,我们可以在其中执行 Linux 命令。输入exit
可以退出shell
。
sftp> !
[root@sftp ~]# exit
Shell exited with status 1
sftp>