如何在谷歌云计算引擎中创建ftp(vsftpd)?

Bir*_*ira 5 google-compute-engine google-cloud-platform

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

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

任何想法或教程?

Bir*_*ira 8

我找到了一种方法来做到这一点,请建议有任何风险.

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
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

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

Google云端防火墙设置

在此输入图像描述

在此输入图像描述

后来我将我的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 // end (2认同)