我根据此链接下载了 vsftpd、安装和配置如何在 Ubuntu Linux 中设置 FTP 服务器在我的 Ubuntu 12.04 上。但问题是如何测试呢?
我想学习如何使用 vsftpd,我正在寻找简单的图形化分步场景了解这一点。就像一个包括客户端和服务器的场景,通过使用虚拟框?
如何在 Ubuntu_1 中从 Ubuntu_2 下载文件。两者都是 Virtual Box 中的虚拟操作系统
答案1
服务器端
检查服务状态
sudo service vsftpd status
检查其正在运行的进程
ps ax | grep vsftpd
(命令:列出所有进程然后过滤 vsftpd 行的输出)
或者你可以使用循环来监视其进程:
while sleep 1 ; do clear ; ps ax | grep vsftpd ; done
(命令为:等待 1 秒,清除 shell 屏幕,列出所有进程,然后过滤 vsftpd 行的输出,再次循环,因为睡眠总是成功返回)
检查 vsftpd 进程相关端口状态
netstat -lnp | grep vsftpd
(命令:列出所有监听端口及其端口号和所属进程 ID(PID),然后过滤 vsftpd 行的输出)
监控服务器日志(
tail
跟踪-f
日志更新和监控 vsftpd)$ tail -f /var/log/vsftpd.log Fri Apr 25 18:43:28 2014 [pid 2026] CONNECT: Client "127.0.0.1" Fri Apr 25 18:45:01 2014 [pid 2025] [sneetsher] OK LOGIN: Client "127.0.0.1"
客户端
(注意:我从服务器运行它们只是为了举例说明,更喜欢其他主机来检查防火墙设置......)
ftp
带有详细选项的命令-v
来显示来自远程服务器的所有响应)$ ftp -v localhost Connected to localhost. 220 (vsFTPd 3.0.2) Name (localhost:sneetsher): 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp>
FileZilla。它有非常详细的日志,但它会根据设置发送几个命令,而这些命令并不总是您想要的。
Status: Resolving address of localhost Status: Connecting to 127.0.0.1:21... Status: Connection established, waiting for welcome message... Response: 220 (vsFTPd 3.0.2) Command: USER sneetsher Response: 331 Please specify the password. Command: PASS ******** Response: 230 Login successful. Command: SYST Response: 215 UNIX Type: L8 Command: FEAT Response: 211-Features: Response: EPRT Response: EPSV Response: MDTM Response: PASV Response: REST STREAM Response: SIZE Response: TVFS Response: UTF8 Response: 211 End Command: OPTS UTF8 ON Response: 200 Always in UTF8 mode. Status: Connected Status: Retrieving directory listing... Command: PWD Response: 257 "/home/sneetsher" Command: TYPE I Response: 200 Switching to Binary mode. Command: PASV Response: 227 Entering Passive Mode (127,0,0,1,159,231). Command: LIST Response: 150 Here comes the directory listing. Response: 226 Directory send OK. Status: Calculating timezone offset of server... Command: MDTM 0000_12.04~ Response: 213 20140208184211 Status: Timezone offsets: Server: 0 seconds. Local: 0 seconds. Difference: 0 seconds. Status: Directory listing successful ... Status: Sending keep-alive command Command: TYPE I Response: 200 Switching to Binary mode.
可能的测试工作流程
服务器端:更改后
vsftpd.conf
,重新启动服务(无需重新启动VBox客户机)sudo service vsftpd restart
客户端:可以使用 编写 FTP 客户端脚本(例行测试)
yafc
。上传文件夹的示例:#!/bin/bash yafc <<** open ftp://username:password@hostname put -f -r folder close ** exit 0
或使用
ftp
:#!/bin/sh HOST='ftp.users.qwest.net' USER='yourid' PASSWD='yourpw' FILE='file.txt' ftp -n $HOST <<END_SCRIPT quote USER $USER quote PASS $PASSWD put $FILE quit END_SCRIPT exit 0
VirtualBox 客户机上的服务器/客户端
客户端应该与服务器位于同一个 NAT 网络、内部网络中。
或者如果服务器有桥接适配器,客户端可以设置 NAT、NAT 网络、桥接适配器。
参考:
答案2
您可以通过以下 3 种方法测试 VSFTPD 服务器:
在 ubuntu 机器上(您已安装 VSFTPD 服务器),打开终端(Ctrl+Alt+T)并输入“ftp localhost”。出现提示时输入名称和密码。成功后,您将进入 ftp> 提示符。
测试 VSFTPD 的状态 -> 在服务器上运行“ netstat -a | grep ftp ”。如果 VSFTPD 没有运行,则根本没有输出。
检查此链接:http://www.informit.com/articles/article.aspx?p=378136&seqNum=6
从另一台 ubuntu 机器(将其视为 FTP 客户端),向您的 FTP 服务器(即安装了 VSFTPD 的机器)发送或接收一些文件。
为此,您必须从另一台 ubuntu 机器连接到 FTP 服务器。
在此链接中查看 Linux 上的 FTP 命令列表:http://linux.about.com/od/commands/a/blcmdl1_ftpx.htm
答案3
在 ubuntu 服务器上,打开终端并输入:
sudo service vsftpd status
如果输出如下(除了 pid 进程):
vsftpd start/running, process 6582
那么服务器正在运行。
从另一台计算机检查服务器是否在默认端口(21)上处于活动状态:
telnet ip_server_ftp 21
如果连接已建立,则输出将返回
答案4
此链接中还有一个简单的指南http://blog.pluralsight.com/how-to-set-up-safe-ftp-in-linux
和http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:第 15 章:_Linux_FTP_服务器设置#安装_vsftpd
另外,在 virtualBox 上,如果从您的 geust 无法 ftp 连接到主机,您应该按照以下步骤操作: FTP 权限可读但不可写
还有关于 .conf 文件 https://serverfault.com/questions/362619/why-is-the-chroot-local-user-of-vsftpd-insecure
https://serverfault.com/questions/358211/can-i-configure-vsftpd-to-listen-only-to-localhost
https://serverfault.com/questions/34678/how-to-configure-vsftpd-to-allow-root-logins
http://xmodulo.com/2014/06/secure-ftp-service-vsftpd-linux.html