Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »

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.

Pré-Requesitos: Ambiente Linux (Preferencialmente) e Puttygen.

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

Preferencialmente, em ambiente Linux, para gerar os pares de chaves públicas e privadas, é necessário utilizar o seguinte comando (Sempre com o parâmetro -m PEM):

ssh-keygen -m PEM

Caso não houver disponibilidade de utilizar o ambiente Linux, é possível instalar o WSL no Windows para suprir essa necessidade conforme o link:

https://learn.microsoft.com/pt-br/windows/wsl/install

Este comando, gerará um par de certificados público e privado normalmente chamada de (id_rsa.pub e id_rsa) respectivamente.

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) or "PEM" (PEM chave pública)

Feito estes procedimentos, é necessário converter o certificado (id_rsa) para o formato PEM RSA private key (Importante). Pois, por padrão, os formatos dos certificados RFC4716 e PKCS8, suportados pela a ferramenta ssh-keygen, não são compatíveis totalmente com subsistema de SFTP do APPSERVER podendo ocorrer erros ao realizar o Login.

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

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

Caso necessitar, é possível converter o certificado para o formato PPK utilizando o seguinte comando:

puttygen id_rsa -o minhachave.ppk -O private

Feito estes procedimentos, é interessante conferir se o formato dos certificados estão de acordo com o reportado ao executar o comando no WSL ou Linux:

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.

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.

  • Sem rótulos