Não. O sftp
em servidores SSH é apenas um subsistema não obrigatório (mas bastante suportado, porque é mais fácil de usar e oferece um desempenho muito melhor do que o simples scp
).
Todo servidor sshd que eu já conectei suporta sftp. No entanto, isso é necessariamente o caso? Ou existem exceções notáveis?
Estou perguntando porque muitas contas de hospedagem compartilhada oferecem "contas ssh" que, por padrão, oferecem apenas o servidor sftp (elas têm um shell vazio para sessões interativas).
Se a resposta for sim, então faria sentido que programas como ssh-copy-id
usem sftp em vez de ssh para transferir chaves, porque essa seria a solução mais robusta.
Não. O sftp
em servidores SSH é apenas um subsistema não obrigatório (mas bastante suportado, porque é mais fácil de usar e oferece um desempenho muito melhor do que o simples scp
).
Você provavelmente tem esse pressentimento porque a maioria dos sistemas baseados em Linux habilita esse recurso em sua configuração por padrão depois de instalar o pacote do servidor SSH, mas não é obrigatório, como disse @Jakuje, é apenas um recurso, mas pode ser desativado.
No arquivo /etc/ssh/sshd_config
, há uma diretiva como esta:
Subsystem sftp /usr/lib/openssh/sftp-server
Simplesmente comentá-lo desativaria o recurso de SFTP.