Jsch Exceção: Auth Fail com chave privada

2

Estou usando o código abaixo para conectar o servidor remoto e segui as etapas abaixo para conectar a geração de chaves privada / pública & concatenar de chave pública com chave autorizada.

Código:

private Session createSession() throws JSchException {
        JSch jsch = new JSch();
            jsch.addIdentity(privateKey);                   //add private key path as ~/.ssh/id_rsa
            Session session;
            session = jsch.getSession(user, host, port);
            java.util.Properties config = new java.util.Properties();

        Properties cfg = new Properties();
            cfg.put("trust", "true");
            cfg.put("StrictHostKeyChecking", "no");
            cfg.put("HashKnownHosts", "yes");

            session.setConfig(cfg);
            session.connect();
            return session;
    }

Etapas:

1. I can able to generate private/public key in the path ~/.ssh/id_rsa(private key) and ~/.ssh/id_rsa.pub(public key)
    >> ssh-keygen (or) ssh-keygen -t rsa -b 4096
   Note: Generated key with no passphrase
2. I have added public key with authorized_keys with below command
    >> ssh user@host "echo \"'cat ~/.ssh/id_rsa.pub'\" >> .ssh/authorized_keys"

Ainda estou enfrentando a exceção "com.jcraft.jsch.JSchException: Auth fail". Por favor me guie para prosseguir.

    
por Shailu 30.08.2017 / 14:13

1 resposta

1

Acredito que isso pode acontecer por vários motivos:

  • A chave privada é protegida por senha, o que você já verificou não é o caso.

  • O diretório que contém as chaves é criptografado.

  • As permissões de arquivo no diretório .ssh e / ou chaves públicas / privadas são muito abertas. Eles devem ser:

    • diretório ssh: 700
    • chave pública: 644
    • Chave privada
    • : 600 (possivelmente até 400)
  • O que também pode estar acontecendo é que o formato da chave pública dentro do arquivo de chaves autorizadas é incompatível. Pode ser necessário convertê-lo para um formato diferente. Assumindo OpenSSH:

    • Converter para SSH2: %código%
    • Converter de SSH2: %código%
por 02.01.2018 / 20:30