Comment facilement établir une connexion SSH dans Qt?

Je suis à la recherche d'un moyen facile d'établir une connexion ssh en Qt similaire à la façon dont je peut fonctionner en Java.

Par exemple, pour se connecter à une connexion ssh via le java, je peux le faire:

import com.sshtools.j2ssh.SshClient;
import com.sshtools.j2ssh.transport.IgnoreHostKeyVerification;
import com.sshtools.j2ssh.authentication.PasswordAuthenticationClient;
import com.sshtools.j2ssh.authentication.AuthenticationProtocolState;

 ......

    SshClient ssh = new SshClient();
    try {
        //Timeout of ten seconds
        ssh.setSocketTimeout(10*1000);
        ssh.connect(ip, port, new IgnoreHostKeyVerification());

        PasswordAuthenticationClient auth = new PasswordAuthenticationClient();
        auth.setUsername(username);
        auth.setPassword(password);

        if (ssh.authenticate(auth) != AuthenticationProtocolState.COMPLETE) {
            errorLabel.setForeground(Color.RED);
            errorLabel.setText("Username or password is incorrect");
        }
        else
            successful = true;
    }
    catch (Exception e) {
        errorLabel.setForeground(Color.RED);
        errorLabel.setText("Cannot log into website");
        e.printStackTrace();
    }

Les solutions que j'ai vu pour Qt:

  1. Rouler mon propre en utilisant libssh
  2. Rouler mon propre en utilisant libssh2
  3. Utilisation QProcess pour appeler l'extérieur par un processus SSH pour établir une connexion
  4. Acheter la bibliothèque ici: http://netsieben.com/products/ssh/

Depuis la version de Java est libre, je suis un peu réticent à dépenser de l'argent sur cela, mais si je le dois, je le dois. Je préfère ne pas rouler le mien, parce que je ne peut voir que d'être une cause d'erreurs (à moins que ces bibliothèques sont facile à utiliser?).

Quelque chose que je n'ai pas trouvé?

EDIT: je viens de passer des jours de lutte avec les deux libssh et libqxt. Les deux sont des échecs absolus sur windows, à partir de ce que je peux déterminer. Libqxt ne compile pas sur windows avec le protocole ssh, même après avoir suivi les étapes décrites ici et ici. Libssh de la classe wrapper C++ comprend tout ce qui dans l'en-tête, qui est à l'origine de la liaison des échecs de si pas soigneusement gardé. Une fois que ceux de l'éditeur de liens que les problèmes sont résolus, Libssh est compilé les accidents de la bibliothèque à la CDB, afin de débogage avec libssh devient impossible, indépendamment de si oui ou non le wrapper c++ est utilisé. Alors maintenant, je suis de retour à libssh2 ou de payer pour cela par le biais de certains douteuse programme qui n'a apparemment pas été mis à jour dans quatre ans. Cryptlibpeut-être? Cela n'aide pas que la plupart de l'intervalle qt forum d'aide semble être frayer un autre processus, qui nécessite donc mes utilisateurs ont installé ssh, qui n'est certainement pas par pour le cours sur Windows.

source d'informationauteur mmr