Árvore de páginas

Estabelece uma conexão com um servidor de SFTP ( SSH File Transfer Protocol ) utilizado o modo de autenticação por usuário com a chave publica e senha da chave publica.

Pré-requisito

Para que a conexão com o servidor SFTP seja bem sucedida, é preciso configurar as chaves pública e privada e a respectiva senha da chave pública na seção [SFTP] do arquivo de configuração do AppServer. Exemplo de como configurar:

[SFTP]
privatekey   = D:\Keys\SFTPDEV_PREFERED\withpass\id_rsa
publickey    = D:\Keys\SFTPDEV_PREFERED\withpass\id_rsa.pub
certpassword = m1nh4S3nH4fl3!SXHL3SSD
ShellExec    = 1

Sintaxe

TSFTPClient():ConnectPubKey( < cServer >, < cPort >, < cUser > )

Parâmetros

Os parâmetros que esta função recebe são descritos abaixo:

NomeTipoDescriçãoObrigatórioReferência
cServercaractereEndereço do servidor SFTP a ser conectadoX
cPortcaractereNúmero da porta do servidorX
cUsercaractereLogin do usuárioX
cUserPasswordcaractereSenha do usuárioX

Retorno

Conforme a Tabela abaixo esta função retonará o valor numérico. Além disso, o console.log conterão informações importantes adicionais caso for detectados erros.

RetornoTipoDescrição
nRetnuméricoStatus de conexão ao servidor SFTP

Exemplo

user Function sftp_open_close_connection_ex2()

  local nRet1, nRet2
  local oSftp1 := tSFTPClient():new()

  nRet1 := oSftp1:ConnectPubKey("server1.exemplo.local","2222","josevitor")
  if (nRet1 <> 0)
    conOut("Falha em conectar ao servidor SFTP")
    return .F.
  endif

  nRet2 := oSftp1:Disconnect()
  if (nRet2 <> 0)
    conOut("Falha em desconectar ao servidor SFTP")
    return .F.
  endif

Return .T.

Observações

Note que neste método de conexão, temos dois tipos de senhas que são a do usuário e a da chave pública.

Segue a lista de códigos de status de retorno indicando sucesso ou falha de conexão:

CódigoSímboloDescrição
0SFTP_OKSucesso de conexão ao servidor SFTP
-1SFTP_HOST_NOT_FOUNDServidor remoto não encontrado
-2SFTP_SOCKET_FAILFalha no socket da conexão
-3SFTP_CONNECTION_FAILFalha ao conectar no servidor remoto
-4SFTP_SESSION_INIT_FAILFalha ao inicializar o socket
-5SFTP_HANDSHAKE_FAILFalha no HandShake da camada SSH
-6SFTP_SFTP_INIT_FAILFalha ao inicializar o subsistema de SFTP
-28SFTP_KNOWNHOSTS_READ_FAILFalha ao realizar leitura do host
-30SFTP_KNOWNHOSTS_FINGERPRINT_FAILFalha ao realizar leitura da assinatura
-31SFTP_KNOWNHOSTS_MISMATCHAssinatura não-conforme no arquivo de KNOWNHOSTS
-32SFTP_KNOWNHOSTS_NOTFOUNDAssinatura não-encontrada no arquivo de KNOWNHOSTS
-33SFTP_KNOWNHOSTS_CHECK_FAILUREFalha ao verificar o arquivo de KNOWNHOSTS
  • Sem rótulos