Árvore de páginas

Pré-Requisitos: Putty, OpenSSH, OpenSSL e Windows Subsystem for Linux (WSL)

Observação Importante: Não se deve utilizar a ferramenta PUTTYGEN para geração dos certificados de LOGIN.

Recomenda-se utilizar apenas a ferramenta ssh-keygen apenas para este processo de geração e a openssl para eventual conversão de formatos de chaves, caso for necessário.

Atualmente, existem vários tipos de certificados de Login que podem ser utilizados no SFTP. São elas:

  • RSA Key (Padrão)
  • DSA Key, ECDSA Key (Elliptic Curve)
  • Ed25519 Key (EdDSA Curve).

Na plataforma, recomenda-se utilizar o padrão RSA Key.

Para gerarmos um par de chaves publica e privada compatível com o subsistema de SFTP do Protheus, devemos realizar os seguintes procedimentos:

ssh-keygen -t rsa -m PEM -f id_rsa

Este comando, gerará um par de certificados público e privado normalmente chamada de (id_rsa.pub e id_rsa) respectivamente. Em ambiente Linux/WSL, favor verificar se os formatos de chaves, com o auxílio do comando file id_rsa*, estão conforme a tabela abaixo:

Arquivo GeradoTipo da chave
id_rsaPEM RSA private key
id_rsa.pubOpenSSH RSA public key

Feito este procedimento, todo o conteúdo do arquivo id_rsa.pub deverá ser acrescentado dentro do arquivo ~/.ssh/authorized_keys no usuário do servidor SFTP em que terá acesso.

No arquivo APPSERVER.INI, devemos configurar, conforme o exemplo abaixo, a seção SFTP para que as funções de download e upload funcionem corretamente:

[SFTP]
privatekey = D:/Keys/id_rsa
publickey = D:/Keys/id_rsa.pub
certpassword = teste12345

Note que o certificado, neste exemplo, foi gerado com uma senha "teste12345". Caso o certificado tenha sido gerado sem nenhuma senha, devemos omitir a chave certpassword nesta seção SFTP.

Observações importantes

Nota: A ferramenta ssh-keygen suporta os seguintes modos de geração do certificados:

  • "RFC4716" (RFC 4716/SSH2 pública ou chave privada)
  • "PKCS8" (PKCS8 pública ou chave privada)
  • "PEM" (PEM chave pública)

IMPORTANTE: Caso for observado que o certificado de login gerado não esteja no formato PEM, é necessário converter o certificado (no arquivo id_rsa) Os formatos: "RFC4716" (RFC 4716/SSH2 pública ou chave privada) e "PKCS8" (PKCS8 pública ou chave privada) suportados pela a ferramenta ssh-keygen, não estao homologados com subsistema de SFTP do Application Server podendo ocorrer erros ao realizar o Login caso forem utilizados.

Para converter, para o formato compatível, é necessário realizar o seguinte procedimento na linha de comando (Requer OpenSSL):

openssl rsa -in id_rsa -outform pem > id_rsa.pem

Caso necessitar gerar um certificado no formato Putty, para algum outro fim sem ser para uso no Protheus, é possível converter o certificado para o formato PPK utilizando o seguinte comando:

puttygen id_rsa -o minhachave.ppk -O private

Lembrando novamente que este certificado no formato Putty (PPK) não é suportado pelo o Protheus não devendo ser utilizado.

Feito estes procedimentos, é interessante conferir novamente se o formato dos certificados estão de acordo com o reportado ao executar o comando no WSL ou Linux (considerando que os arquivos de certificados estão na mesma pasta):

file *  

Ao executar o comando o resultado deverá ser:

Arquivo GeradoTipo da chave
id_rsaPEM RSA private key
id_rsa.pemPEM RSA private key
id_rsa.pubOpenSSH RSA public key
minhachave.ppkPuTTY Private Key File, version 3, algorithm ssh-rsa

Nota: O formato da chave privada (id_rsa) nunca deverá ser OpenSSH RSA private key uma vez que este não é suportado.

IMPORTANTE: Nunca se deve utilizar certificados no formato PUTTY (PPK) para a plataforma Protheus pois não são compatíveis

  • Sem rótulos