Diferenças entre SFTP e "FTP sobre SSH"
ao procurar um cliente SFTP no Protocolo de transferência de Ficheiros C# SSH (SFTP), deparei - me com estes dois projectos adequados - Um e dois.
enquanto tentava compreender o básico, deparei-me com este artigo confuso na Wikipédia. Qual é a diferença entre SFTP e FTP sobre SSH? Nenhuma biblioteca parece dar suporte para "FTP sobre SSH", se for diferente.
8 answers
Aqui está a diferença:
- SFTP (SSH file transfer protocol) é um protocolo que fornece capacidades de transferência e manipulação de ficheiros. Ele pode trabalhar sobre qualquer fluxo de dados confiável, mas é normalmente usado com ssh
- "FTP sobre SSH" usa o protocolo FTP antigo normal, mas um túnelssh é colocado entre o cliente e o servidor.
Você provavelmente não vai encontrar bibliotecas para "FTP sobre SSH" porque normalmente o túnel é configurado executando um SSH comando, e uma vez que está configurado, clientes e servidores não precisam saber sobre o túnel; eles apenas abrem portas e transferem dados que eles fariam sem um túnel.
BTW, mais uma opção para si pode ser FTP sobre SSL (FTPS) , que é suportada por. NET. (Ver http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.enablessl.aspx.)
Basicamente, existem os seguintes protocolos de transferência de ficheiros em torno de:
FTP-o protocolo FTP antigo que existe desde 1970. o acrónimo significa "Protocolo de transferência de Ficheiros". Normalmente passa sobre a porta tcp 21.
SFTP-outro, completamente diferente protocolo de transferência de arquivos que não tem nada a ver com FTP. O SFTP passa por uma sessão SSH, geralmente na porta 22 do TCP. Ele existe desde o final dos anos 90. o acrônimo na verdade significa "SSH File" protocolo".
FTP sobre SSH - 1) possível, mas extremamente raro exemplo de protocolo FTP tunelado através de um canal SSH 2) incorretamente chamado SFTP
(Para mais pormenores, ver "Secure FTP, FTP / SSL, SFTP, FTPS, FTP, SCP... Qual é a diferença?" page at Rebex)
Aviso: eu trabalho para o Rebex
O SFTP é, na verdade, outro protocolo que passa por cima do SSH - uma extensão do SSH, se quiser. As pessoas tendem a usar SFTP ao invés de tunelamento FTP sobre SSH.
Para um suporte completo de SFTP no .NET try edtFTPnet / PRO . Tem sido em torno de um longo tempo com suporte para muitos servidores SFTP diferentes.
FTP sobre SSH é um protocolo FTP simples que atravessa SSH. SFTP é o mecanismo de transferência de arquivos oferecido pelo SSH e é um protocolo completamente diferente. Não vi ninguém a usar FTP sobre SSH.
- SFTP significa SSH File Transfer Protocol. Não é FTP sobre SSL e não FTP sobre SSH. SFTP é padronizado na RFC 4253.
- FTP significa Protocolo de transferência de ficheiros que é definido pela RFC 959 e últimas adições. FTP é muito popular, mas não garantido. Portanto FTP sobre SSL foi introduzido e é chamado FTPS ou FTP/SSL.
Para a autenticação, o SFTP usa as teclas SSH, enquanto o FTPS usa os certificados X. 509.
Acabei de criar uma biblioteca. net SFTP . Uma das coisas que aprendi no processo é como FTP diferente é para SFTP. Você está realmente se comunicando com um servidor SSH em vez de um servidor FTP. Não é apenas o protocolo, os comandos são totalmente diferentes que você está enviando para o servidor SSH.
Aqui está um link para a minha biblioteca.