Estou usando VirtualBox
ubuntu 14.04
-o como cliente. Tenho a versão da linha de comando do Ubuntu como servidor como host de arquivo. Consigo me conectar - Autenticar - e fazer upload/download do arquivo no/do servidor usando put $FILE
ou get $FILE
mas ele falha durante o processo de upload/download. A seguinte mensagem de erro é mostrada: para ambos
ftp: bind: Address already in use
Existe alguma maneira de mudar as portas VirtualBox
ou FTP para verificar meu ambiente de teste?
Mudei a porta do meu servidor por:
sudo nano /bin/vsftpd.conf
listen_port=2121
Como alterar o cliente para chamar na porta atribuída e não no padrão?
Responder1
Bem, não é realmente uma resposta, mas os comentários são muito curtos...
Acho que não fui suficientemente claro ao falar sobre 'porta secundária'. O FTP usa duas portas:
- a porta de comando (ou porta de escuta), padrão 21.
- a porta de dados (padrão 20).
A porta de comando é certamente gratuita, e é por isso que você pode conectar e autenticar e emitir comandos get e put. Mas ao ir para a transferência, outra conexão é aberta na porta de dados, e esta falha. Portanto, você deve verificar (e talvez modificar) a porta de dados, não a porta de comando.
O problema é ainda mais difícil porque o FTP possui dois modos:
- O modo 'passivo' no qual as portas padrão são usadas.
- O modo 'ativo' no qual as portas são negociadas.
É por isso que eu sugiro fortemente que você tente as transferências no modo passivo (não é o padrão). Qualquer cliente FTP como o Filezilla ou o comando do terminal FTP tem essa opção.