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),只需使用以下命令:

  1. $ sftp tom@192.168.0.25
  2. Connecting to 192.168.0.25...
  3. tom@192.168.0.25's password:
  4. sftp>

如果读过15.2节,可能会问为什么现在还要提示输入密码。说得对:前面这个例子是没有为连接设置密码的情况。如果设置好了密码,将看到一个类似以下这个样子的登录信息:

  1. $ sftp tom@192.168.0.25
  2. Connecting to 192.168.0.25...
  3. sftp>

通过sftp登录以后,运行的命令就相当标准了。表15-1列出了一些常见的命令,完整的命令介绍,可以查看man sftp表15-1 有用的SFTP命令

命  令 含  义
cd切换目录
exit关闭与远程SSH服务器的连接
get将指定的文件复制到本机
help获取与命令相关的帮助
lcd将目录切换到本机
lls列出本机上的文件
ls列出远程SSH服务器上当前工作目录中的文件
put将指定的文件复制到远程SSH服务器
rm将指定的文件从远程SSH服务器删除