web-dev-qa-db-ja.com

Ubuntu 16.04にvsftpdをインストールしようとしています

Ubuntu 16.04サーバーに Scaleway からFTPサーバー(vsftpd)をインストールしようとしています。

私は次のことをしました:

Sudo apt-get update
Sudo apt-get install vsftpd
Sudo service vsftpd status

次の結果が表示されます。

● vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2018-08-31 22:26:53 CEST; 10min ago
  Process: 10161 ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf (code=exited, status=2)
  Process: 10157 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
 Main PID: 10161 (code=exited, status=2)

Aug 31 22:26:53 scw-24e1a0 systemd[1]: Starting vsftpd FTP server...
Aug 31 22:26:53 scw-24e1a0 systemd[1]: Started vsftpd FTP server.
Aug 31 22:26:53 scw-24e1a0 systemd[1]: vsftpd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Aug 31 22:26:53 scw-24e1a0 systemd[1]: vsftpd.service: Unit entered failed state.
Aug 31 22:26:53 scw-24e1a0 systemd[1]: vsftpd.service: Failed with result 'exit-code'.

これの問題は何でしょうか?

2
nielsv

/etc/vsftpd.confに触れなかった場合、この失敗ステータスの理由は、別のサービスがデフォルトのFTPポート-21で既にリッスンしているためです。私は実験を行い、あなたと同じステータスを受け取りました。次のいずれかのコマンドを使用して、その別のサービスを調べることができます。

Sudo lsof -i -n -P | grep ':21'
Sudo netstat -peanut | grep ':21'

Sudo systemctl stop <that another>.serviceSudo systemctl start vsftpd.serviceを試してから、ステータスをもう一度確認してください:Sudo systemctl status vsftpd.service

この問題を解決する別の方法は、これらのサービスのいずれかがリッスンするポートを変更することです。たとえば、次のディレクティブを/etc/vsftpd.confに追加することにより、vsftpdに対してこれを行うことができます- reference

listen_port=2121

次に、デフォルトではなくポート2121を介して接続するようにFTPクライアントに指示する必要があります。ほとんどの場合、ターゲットIPアドレス/ FQDNの最後に:<port-number>を追加するだけです。たとえば、NautilusをFTPクライアントとして使用している場合:

enter image description here

その他の注意事項:

vsftpが実際にどの程度安全かはわかりませんが、このサービスを使用する特別な必要がない場合は、sftpを使用できます。以前に構成されています。また、ファイアウォールへの追加ポートを開く必要はありません。

もちろん、UbuntuインスタンスにSSHでアクセスできる場合、sftpは無効になっていない場合は既に利用可能です。これに関連するいくつかの参照があります:

2
pa4080

出力がcode=exited, status=2/INVALIDARGUMENTの状態を示している場合、それは/etc/vsftpd.confが正しくないことを意味します。

/etc/vsftpd.confを編集し、キューを追加します:

listen=YESからlisten=NO

その後、サービスを再起動します。

これは私に役立ちます。