如何在谷歌云计算引擎中创建ftp?我可以通过SFTP进行连接,没有任何问题,但是我的公司正在使用通过FTP进行连接的软件来从服务器下载XML文件。不幸的是,该软件没有SFTP连接功能。
我从互联网上看到了许多示例,这些示例是通过SFTP而不是FTP进行连接的。
有任何想法或教程吗?
最佳答案
我找到了一种方法,请告知是否有任何风险。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更改为,以获取更多限制
关于google-cloud-platform - 如何在Google云计算引擎中创建ftp(vsftpd)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46216385/