15.3 在计算机之间安全地传输文件
sftp
与ssh
要比telnet
好得多一样,SFTP也要比普通的FTP好得多。与telnet
类似,FTP也是以透明的方式来发送用户名、密码及传输的所有数据,监听到这些数据包的任何人都可以看明白其内容。相反,SFTP则使用ssh
来加密所有东西:用户名、密码及传输的数据。除了SFTP的安全性比FTP高出无数倍以外,SFTP和FTP非常相似,这使学习和使用SFTP都非常容易。
如果能够通过ssh
访问某台计算机,那么也一定能够通过SFTP访问到它。要使用sftp
命令,从pound
(IP地址为192.168.0.15,用户名为ezra)连接到eliot
(IP地址为192.168.0.25,用户名为tom),只需使用以下命令:
$ sftp tom@192.168.0.25
Connecting to 192.168.0.25...
tom@192.168.0.25's password:
sftp>
如果读过15.2节,可能会问为什么现在还要提示输入密码。说得对:前面这个例子是没有为连接设置密码的情况。如果设置好了密码,将看到一个类似以下这个样子的登录信息:
$ sftp tom@192.168.0.25
Connecting to 192.168.0.25...
sftp>
通过sftp
登录以后,运行的命令就相当标准了。表15-1列出了一些常见的命令,完整的命令介绍,可以查看man sftp
。
表15-1 有用的SFTP命令
命 令 | 含 义 |
---|---|
cd | 切换目录 |
exit | 关闭与远程SSH服务器的连接 |
get | 将指定的文件复制到本机 |
help | 获取与命令相关的帮助 |
lcd | 将目录切换到本机 |
lls | 列出本机上的文件 |
ls | 列出远程SSH服务器上当前工作目录中的文件 |
put | 将指定的文件复制到远程SSH服务器 |
rm | 将指定的文件从远程SSH服务器删除 |