【问题标题】:How to create ftp (vsftpd) in google cloud compute engine?如何在谷歌云计算引擎中创建 ftp (vsftpd)?
【发布时间】:2018-02-23 06:39:31
【问题描述】:

如何在谷歌云计算引擎中创建 ftp?我可以毫无问题地通过 SFTP 连接,但我的公司正在使用软件通过 FTP 连接以从服务器下载 XML 文件。不幸的是,该软件没有 SFTP 连接功能。

我从互联网上看到很多例子,通过 SFTP 而不是 FTP 连接。

有什么想法或教程吗?

【问题讨论】:

    标签: google-cloud-platform google-compute-engine


    【解决方案1】:

    我找到了这样做的方法,请告知是否有任何风险。

    apt-get install vsftpd libpam-pwdfile

    nano /etc/vsftpd.conf

    在 vsftpd.conf 配置文件中。

        # vim /etc/vsftpd.conf
    
        listen=YES
        listen_ipv6=NO
        anonymous_enable=NO
        local_enable=YES
        write_enable=YES
        local_umask=022
        nopriv_user=vsftpd
        chroot_local_user=YES
        allow_writeable_chroot=yes
        guest_username=vsftpd
        virtual_use_local_privs=YES
        guest_enable=YES
        user_sub_token=$USER
        local_root=/var/www/$USER
        hide_ids=YES
    
        listen_address=0.0.0.0
        pasv_min_port=12000
        pasv_max_port=12100
        pasv_address=888.888.888.888 # My server IP
        listen_port=211
    

    从文件中删除所有内容并添加这些行

    auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd

    account required pam_permit.so

    创建将由虚拟用户进行身份验证的主用户:

    useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd

    完成后,我们可以创建用户/密码文件。

    htpasswd -cd /etc/ftpd.passwd helloftp

    接下来,为用户添加目录,因为 vsftpd 不会自动创建它们。

    mkdir /var/www/helloproject

    chown vsftpd:nogroup /var/www/helloproject

    chmod +w /var/www/helloproject

    最后,启动 vsftp 守护进程并将其设置为在系统启动时自动启动。

    systemctl start vsftpd && systemctl enable vsftpd

    检查状态以确保服务已启动:

    systemctl status vsftpd

        ● vsftpd.service - vsftpd FTP server
        Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled)
        Active: active (running) since Sat 2016-12-03 11:07:30 CST; 23min ago
        Main PID: 5316 (vsftpd)
        CGroup: /system.slice/vsftpd.service
        ├─5316 /usr/sbin/vsftpd /etc/vsftpd.conf
        ├─5455 /usr/sbin/vsftpd /etc/vsftpd.conf
        └─5457 /usr/sbin/vsftpd /etc/vsftpd.conf
    

    最后添加防火墙规则以通过云访问。

    后来我将 IP 从 0.0.0.0 更改为更多限制

    【讨论】:

    • 它对我来说很好,但有一些变化: sudo nano /etc/pam.d/vsftpd // 用这个替换所有内容:auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd account required pam_permit.so // 结束
    【解决方案2】:

    是的,可以在 Google Cloud 上托管 FTP 服务器。其实我写了一篇关于How to set up an FTP server on Google Cloud的深度博文。

    如果您的虚拟机基于 Linux,那么您必须使用 vsftpd 之类的应用程序来设置 FTP 服务器。

    步骤如下:

    第 1 步:在 Google Cloud 上部署虚拟实例
    第 2 步:打开 SSH 终端
    第三步:安装VSFTPD
    第 4 步:创建用户
    第五步:配置 vsftpd.conf 文件
    第 6 步:准备 FTP 目录
    第 7 步:FTP/S 或 FTP over SSL 设置(可选)
    第 8 步:在 Google Cloud Firewall 中打开端口
    第 9 步:测试和连接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多