Is there a difference between how SFTP works between Windows and Linux?
Não. A única diferença é formatos de armazenamento de chaves usados por vários programas. A maioria dos sistemas Linux executa o OpenSSH como o servidor SSH / SFTP, e o seu terceiro está solicitando uma chave pública compatível com OpenSSH.
-
CoreFTP armazena chaves privadas no formato OpenSSH e chaves públicas de forma semelhante ao OpenSSH.
Você pode usar PuTTYgen ou
ssh-keygen -yf
para extrair a chave pública, pois o arquivo "privado" sempre contém o par de chaves inteiro.Ou você pode simplesmente adicionar "
ssh-dss
" antes dos dados de chave pública CoreFTP para torná-lo compatível com OpenSSH. Exemplo:ssh-dss AAAAB3NzaC1kc3M...
(Por que o CoreFTP esquece o cabeçalho? Pode ser que os desenvolvedores tenham considerado desnecessário, já que os dados codificados em Base64 já têm
ssh-dss
no começo. E, além disso, quem jamais precisa compatibilidade com o software SFTP mais popular?) -
O
PuTTY usa seu próprio formato de chave "PPK".
Quando você abre a chave no PuTTYgen (ou gera uma nova), a chave OpenSSH pública é exibida na caixa grande na parte superior.
A chave privada pode ser exportada para o formato OpenSSH através dos menus.
-
O WinSCP não possui um programa de geração de chaves. Agrupa o PuTTYgen do PuTTY.
Para completar:
-
O OpenSSH (
ssh
,ssh-keygen
) armazena chaves privadas no formato "PEM" usado pelo OpenSSL e chaves públicas em seu próprio formato de linha única. (Como mencionado acima, o arquivo-chave "privado" contém chaves privadas e públicas).
They told me that a valid DSA key needs to have [...] the username@systemname at the end.
[...] If I put a useraccount@systemname at the end of the text will it work? How would the Linux system validate that my system is called "systemname"? If it can't validate, what is the purpose of adding it?
A parte username@systemname
é um comentário usado para identificação de chaves (por exemplo, quando você tem 10 chaves em authorized_keys ), mas é totalmente ignorado por software.
As chaves públicas do OpenSSH sem um comentário são perfeitamente válidas.