我们正在使用该库通过ssh通过用户名和密码进行连接。有时,方法 connection.authenticateWithPassword 返回false(收到的消息:SSH_MSG_USERAUTH_FAILURE),其他方法可以正常返回true。 用户名和密码在任何情况下都正确。
目前尝试连接的方法有很多:公用密钥,gssapi-keyex,gssapi-with-mic和密码。其中包括密码方法,实际上, connection.isAuthMethodAvailable(this.username,“ password”)方法返回true。
我们已经添加了库日志记录,但是直到现在我们还没有发现任何错误。
有什么想法可以帮助我们吗?
private Connection createConnection() throws IOException, InterruptedException {
logger.debug("Creating ssh connection...");
Connection connection = new Connection(this.ip, this.port);
connection.setTCPNoDelay(this.tcpNoDelay);
connection.connect(null, this.connectTimeout, this.kexTimeout);
if(connection.isAuthMethodAvailable(this.username, "password")) {
if(!connection.authenticateWithPassword(this.username, this.password)) {
logger.debug("Authentication failed!");
connection.close();
throw new IOException("Authentification failed");
}
} else {
logger.debug("Authentication password method is not available!!");
}
logger.debug("Connection was created successfull!");
return connection;
}
答案 0 :(得分:0)
您能否提供有关成功和失败的更多详细信息。目前尚不清楚成功和失败是在一台设备上随机发生的,还是您成功地对一台设备进行了身份验证,但是对另一台设备却失败了?
如果针对特定设备的故障持续出现,那么设备会报告哪些身份验证选项?