Domanda Come installare FTP su VM di Azure


Ho bisogno di aiuto per configurare l'FTP sulla mia istanza di VM di Azure.

La VM è Win Server 2012 R2. Ho impostato il ruolo del server Web e creato un sito FTP in IIS. Ho confermato che posso accedere al server FTP con

ftp command: open localhost

Ho anche configurato un endpoint FTP per la VM sul portale di Azure configurato per la porta standard 21.

Infine, ho aperto una regola firewall per consentire tutto il traffico in / out della porta 21.

Ora, quando provo a FTP da casa mia, posso vedere che il nome del server DNS pubblico si sta risolvendo con l'IP e la porta corretti ma non è possibile stabilire alcuna connessione.

Mi manca un passaggio di configurazione da qualche parte?

Grazie


38
2017-08-24 19:37


origine


risposte:


C'è una grande panoramica di luglio 2012 'Hosting FTP su IIS 7.5 in una macchina virtuale Windows Azure'di Ronald Wildenberg  a questo proposito. Fa eco La risposta di David. Queste sono le fasi che attraversa:

  1. Prima di tutto, hai bisogno di una macchina virtuale. Avevo bisogno di una macchina Windows con un database SQL Server, quindi ho scelto 'Microsoft SQL Server 2012 Evaluation Edition' dai modelli disponibili.
  2. Una volta avviata la macchina, è possibile accedere a RDP tramite l'opzione di connessione nella parte inferiore del portale di gestione.
  3. Quando sei in, devi configurare IIS. Un riepilogo dei passaggi richiesti:
    • Aggiungere il ruolo 'Server Web (IIS)' al server.
    • Aggiungi le funzionalità di IIS che ti servono.
    • Aggiungi un endpoint TCP alla tua VM nel portale di gestione con la porta pubblica e privata 80.
  4. Per abilitare FTP, assicurati di abilitare i servizi di ruolo "Server FTP" per il tuo ruolo IIS:
  5. Il prossimo passo è creare il vero sito FTP in IIS. Fai clic con il pulsante destro del mouse su "Siti" in Gestione IIS e seleziona "Aggiungi sito FTP ..."
  6. Specificare il nome e il percorso locale per il sito:
  7. Specificare l'associazione e le informazioni SSL:
  8. E infine specificare chi deve avere accesso al sito FTP.
  9. Ora dovresti essere in grado di accedere al sito FTP dalla VM. Aprire un prompt dei comandi, digitare ftp 127.0.0.1 e accedi
  10. Per l'FTP attivo è necessario consentire l'accesso alle porte 21 (porta di comando FTP) e 20 (porta dati FTP), quindi è necessario aggiungere due endpoint alla VM
  11. configurare FTP passivo. Affinché funzioni, è necessario comunicare al server FTP IIS l'intervallo di porte che può utilizzare per le connessioni dati e aggiungere gli endpoint alla VM corrispondenti a questo intervallo di porte.
  12. configurare l'intervallo di porte e l'indirizzo IP esterno per le connessioni dati passive. Questo può essere trovato in IIS Manager
  13. L'indirizzo IP esterno deve essere l'indirizzo IP virtuale che è possibile trovare nel portale di Gestione di Azure.
  14. Se non è possibile specificare l'intervallo di porte del canale dati in Gestione IIS utilizzare l'utilità appcmd, che può essere trovata in %windir%\system32\inetsrv: appcmd set config /section:system.ftpServer/firewallSupport /lowDataChannelPort:7000 /highDataChannelPort:7014
  15. È possibile specificare tutti i 15 nuovi endpoint nel portale di Azure, ma ciò richiederebbe anni di utilizzo Cmdlet di Windows Azure PowerShell.
  16. scarica il file delle impostazioni di pubblicazione. Un modo è avviare Windows Azure PowerShell e utilizzare il cmdlet "Get-AzurePublishSettingsFile". Apre un browser e ti consente di scaricare il file delle impostazioni di pubblicazione che corrisponde al tuo ID di Windows Live.
  17. Una volta scaricato il file delle impostazioni di pubblicazione, è possibile importarlo utilizzando il cmdlet "Import-AzurePublishSettingsFile" e siamo pronti per iniziare ad aggiungere endpoint.
  18. Ho semplicemente creato un file di testo contenente l'elenco di comandi che volevo eseguire e copiato nella finestra di PowerShell: Get-AzureVM -ServiceName 'myServiceName' -Name 'ftpportal' | Add-AzureEndpoint -Name 'FTPPassive00' -Protocol 'TCP' -LocalPort 7000 -PublicPort 7000 | Update-AzureVM dove "myServiceName" è il nome del mio servizio cloud e "ftpportal" è il nome della mia macchina virtuale.
  19. Sebbene il firewall di Windows sembra consentire tutto il traffico necessario, è necessario anche abilitare il filtro FTP stateful sul firewall: netsh advfirewall set global StatefulFtp enable
  20. riavviare il servizio FTP di Windows e dovremmo essere attivi e in esecuzione:
    • net stop ftpsvc
    • net start ftpsvc

Vale la pena seguire questi passaggi nell'articolo originale non ultimo perché include schermate utili per ogni passaggio, ma ho pensato che valesse la pena citarlo ampiamente in questo caso. L'articolo menziona anche FTP attivo vs FTP passivo, una spiegazione definitiva vale la pena leggerlo.

Sarebbe bello se potessi segnalare che dopo aver seguito questi passaggi il server FTP basato su VM di Azure funzionerà e sarà accessibile. Ma sfortunatamente i passaggi sopra non lo hanno risolto per me :-(


58
2017-09-10 08:05



Se non ti dispiace usare FileZilla FTP Server,

Ecco cosa ho fatto, per abilitare la connessione FTP alla mia VM.

1. Go to Azure VM (manage.windowsazure.com), and add 2 endpoints:
    1. Name: FTP (Protocol TCP, Public Port 21, Private Port 21)
    2. Name: FTP Passive (Protocol TCP, Public Port 60000, Private Port 60000)
2. Go back to VM (via RDP), Open connection for port 21, and 60000 on Windows Firewall inbound rule.
3. Download and open FileZilla Server.
4. Click Edit -> Users and add user and shared directory as needed.
5. Click Edit -> Settings. On the sidebar click Passive Mode Settings.
6. Check "use custom port range" and enter 60000 - 60000
7. On ip4specific part, select radio button "use the following ip", and enter your xxxx.cloudapp.net.
8. Save, and run the server. That's it, you can now connect to FTP from outside of VM.

Spero che aiuti qualcuno.

Saluti


7
2017-10-28 17:43



Dopo essermi accasciato per un po 'con la lista dei 15 punti sopra, ho ricevuto il messaggio che MS sta cercando di passare - "Nessun (facile) FTP per te" ...

Così sono tornato al mondo vecchio e aperto di Linux: ho configurato un server SCP usando Cygwin. Hai persino un guscio remoto come bonus ...

1) Esegui l'installer di Cygwin - https://cygwin.com/setup-x86.exe

2) Nella ricerca 'Seleziona pacchetti' per

  • cygrunsrv (seleziona quello sotto 'Admin')
  • openssh (seleziona quello sotto 'Net)

3) Al termine, avviare il terminale Cygwin e digitare:

  • ssh-host-config -y -pwd S0me-Str0ng-pa55w0rd

  • cygrunsrv -S sshd

4) Da Azure VM aggiungere un endpoint SSH

5) In Windows FireWall, aggiungere la regola in entrata per la porta TCP 22

E viola - puoi connetterti usando WinSCP, Notepad ++ e Putty ovviamente ...

Gli appunti:

  • Unix fa distinzione tra maiuscole e minuscole, quindi digita il tuo utente nel caso esatto, ad es. Amministratore con capitale A
  • Le tue unità sono sotto / cygdrive (c: \ è a / cygdrive / c ecc)

In bocca al lupo!


3
2017-08-31 19:58



È necessario aggiungere un intervallo di porte aggiuntivo, che il server ftp sceglierà per ciascuna connessione ftp.

Dovrai creare un gruppo di endpoint di input, ognuno dei quali rappresenta una delle porte nell'intervallo di porte specificato. Si noti che si dispone di un numero limitato di endpoint di input (non si è certi del numero esatto, ma si dovrebbe facilmente poter aprire, ad esempio, 50 endpoint di ingresso in porte contigue). Quindi imposta il server ftp per utilizzare lo stesso intervallo. Inoltre, ti consigliamo di mappare la porta pubblica dell'endpoint di input sullo stesso numero di porta privato, altrimenti le connessioni non verranno create correttamente.


1
2017-08-24 21:13



Il link in la risposta di Dumbledad non è attualmente disponibile. Stavo ancora riscontrando problemi nell'ottenere l'FTP passivo in esecuzione su una nuova VM di Azure dopo aver seguito i passaggi.

Dopo un po 'di ricerche, ho trovato questo articolo creato FTP passivo e porte dinamiche. È un grande passo per passo e fornisce un semplice script da eseguire dalla tua VM per ottenere l'FTP attivo e funzionante in un minuto. Se si impostano più VM, lo script è un modo molto più rapido per configurare l'accesso FTP anziché configurare manualmente gli endpoint di IIS e Azure.


1
2017-11-11 14:07