web-dev-qa-db-ja.com

グーグルクラウドコンピューティングエンジンでftp(vsftpd)を作成する方法は?

グーグルクラウドコンピューティングエンジンでftpを作成する方法は? SFTP経由で問題なく接続できますが、私の会社ではソフトウェアを使用してFTP経由で接続し、サーバーからXMLファイルをダウンロードしています。残念ながら、そのソフトウェアにはSFTP接続機能がありません。

インターネットから、FTPではなくSFTP経由で接続する例をたくさん見ました。

アイデアやチュートリアルはありますか?

5
Bira

私はこれを行う方法を見つけました。リスクがあるかどうかアドバイスしてください。

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

最後に、クラウド経由でアクセスするファイアウォールルールを追加します。

Google Cloud Firewall Settings

enter image description here

enter image description here

後で、IPを0.0.0.0から変更して制限を強化しました

9
Bira

はい、GoogleCloudでFTPサーバーをホストすることは可能です。実際、私は Google CloudでFTPサーバーをセットアップする方法 について詳細なブログを書きました。

VMがLinuxをベースにしている場合は、vsftpdなどのアプリケーションを使用してFTPサーバーをセットアップする必要があります。

手順は次のとおりです。

ステップ1:GoogleCloudに仮想インスタンスをデプロイする
ステップ2:SSHターミナルを開く
ステップ3:VSFTPDのインストール
ステップ4:ユーザーを作成する
ステップ5:vsftpd.confファイルを構成する
ステップ6:FTPディレクトリの準備
ステップ7:FTP/SまたはFTPover SSLセットアップ(オプション)
ステップ8:Google CloudFirewallでポートを開く
ステップ9:テストして接続する

1
Akash Patra