java取消 验证,Java JSchException:身份验证取消

I am currently seeing this issue when attempting to ssh into a box from using JSch. I have tested the connection using Cygwin and it connects seamlessly. I have generated the keypair and placed the Public key in authorized_keys file on the remote server.

Below is an extract from the logs

INFO: Next authentication method: publickey

INFO: Authentications that can continue: keyboard-interactive,password

INFO: Next authentication method: keyboard-interactive

INFO: Authentications that can continue: password

INFO: Next authentication method: password

INFO: Disconnecting from xx.xx.xx.xx port 22

com.jcraft.jsch.JSchException: Auth cancel

Code used to established connection

Properties config = new Properties();

config.put("cipher",",aes256-cbc");

config.put("mac.c2s", "hmac-sha2-256");

config.put("KEXs", "diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256");

config.put("StrictHostKeyChecking", "no");

Session session = jsch.getSession(username,host,port);

session.setPassword(password);

session.setUserInfo(ui);

session.setConfig(config);

session.getPort();

session.connect();

session.setPortForwardingL(tunnelLocalPort,tunnelRemoteHost,tunnelRemotePort);

Here is the code for the UserInfo ui

String password = null;

@Override

public String getPassphrase() {

return null;

}

@Override

public String getPassword() {

return password;

}

public void setPassword(String passwd) {

password = passwd;

}

@Override

public boolean promptPassphrase(String message) {

return false;

}

@Override

public boolean promptPassword(String message) {

return false;

}

@Override

public boolean promptYesNo(String message) {

return false;

}

解决方案

The "Auth cancel" is thrown when the authentication implementation throws JSchAuthCancelException. What in turn usually happens when the UserInfo implementation return false from one of its methods.

Your code does not show what is the ui. So I cannot provide more information until you show us more code.

Also you write about key pair, yet your code does not show any use of a key. You instead set a password.

For private key authentication with JSch see for example:

Can we use JSch for SSH key-based communication?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
com.jcraft.jsch.RequestShell.class com.jcraft.jsch.RequestAgentForwarding.class com.jcraft.jsch.Random.class com.jcraft.jsch.RequestSignal.class com.jcraft.jsch.Compression.class com.jcraft.jsch.SignatureDSA.class com.jcraft.jsch.Logger.class com.jcraft.jsch.RequestEnv.class com.jcraft.jsch.UserAuthPublicKey.class com.jcraft.jsch.RequestX11.class com.jcraft.jsch.RequestSftp.class com.jcraft.jsch.Session.class com.jcraft.jsch.SignatureRSA.class com.jcraft.jsch.JSchAuthCancelException.class com.jcraft.jsch.Cipher.class com.jcraft.jsch.UserAuth.class com.jcraft.jsch.ChannelX11.class com.jcraft.jsch.RequestPtyReq.class com.jcraft.jsch.jce.HMACMD596.class com.jcraft.jsch.jce.Random.class com.jcraft.jsch.jce.SignatureDSA.class com.jcraft.jsch.jce.TripleDESCBC.class com.jcraft.jsch.jce.MD5.class com.jcraft.jsch.jce.SignatureRSA.class com.jcraft.jsch.jce.AES128CBC.class com.jcraft.jsch.jce.AES192CBC.class com.jcraft.jsch.jce.AES256CBC.class com.jcraft.jsch.jce.HMACSHA196.class com.jcraft.jsch.jce.SHA1.class com.jcraft.jsch.jce.HMACSHA1.class com.jcraft.jsch.jce.KeyPairGenRSA.class com.jcraft.jsch.jce.HMACMD5.class com.jcraft.jsch.jce.BlowfishCBC.class com.jcraft.jsch.jce.KeyPairGenDSA.class com.jcraft.jsch.jce.DH.class com.jcraft.jsch.DHGEX.class com.jcraft.jsch.jcraft.HMACMD596.class com.jcraft.jsch.jcraft.Compression.class com.jcraft.jsch.jcraft.HMACSHA196.class com.jcraft.jsch.jcraft.HMACSHA1.class com.jcraft.jsch.jcraft.HMACMD5.class com.jcraft.jsch.jcraft.HMAC.class com.jcraft.jsch.HostKeyRepository.class com.jcraft.jsch.JSch.class com.jcraft.jsch.MAC.class com.jcraft.jsch.Request.class com.jcraft.jsch.ChannelAgentForwarding.class com.jcraft.jsch.UserAuthGSSAPIWithMIC.class com.jcraft.jsch.Channel.class com.jcraft.jsch.ForwardedTCPIPDaemon.class com.jcraft.jsch.SftpProgressMonitor.class com.jcraft.jsch.UserAuthKeyboardInteractive.class com.jcraft.jsch.ChannelExec.class com.jcraft.jsch.SocketFactory.class com.jcraft.jsch.ProxySOCKS5.class com.jcraft.jsch.Buffer.class com.jcraft.jsch.ProxyHTTP.class com.jcraft.jsch.GSSContext.class com.jcraft.jsch.IO.class com.jcraft.jsch.Identity.class com.jcraft.jsch.JSchException.class com.jcraft.jsch.CipherNone.class com.jcraft.jsch.SftpATTRS.class com.jcraft.jsch.KeyPairRSA.class com.jcraft.jsch.Packet.class com.jcraft.jsch.RequestExec.class com.jcraft.jsch.KeyPairGenRSA.class com.jcraft.jsch.ChannelShell.class com.jcraft.jsch.IdentityFile.class com.jcraft.jsch.RequestSubsystem.class com.jcraft.jsch.Proxy.class com.jcraft.jsch.KnownHosts.class com.jcraft.jsch.RequestWindowChange.class com.jcraft.jsch.ChannelSubsystem.class com.jcraft.jsch.HASH.class com.jcraft.jsch.KeyPairDSA.class com.jcraft.jsch.ChannelSftp.class com.jcraft.jsch.HostKey.class com.jcraft.jsch.KeyPairGenDSA.class com.jcraft.jsch.UserAuthNone.class com.jcraft.jsch.UserInfo.class com.jcraft.jsch.ServerSocketFactory.class com.jcraft.jsch.KeyPair.class com.jcraft.jsch.JSchPartialAuthException.class com.jcraft.jsch.DH.class com.jcraft.jsch.KeyExchange.class com.jcraft.jsch.ChannelDirectTCPIP.class com.jcraft.jsch.Util.class com.jcraft.jsch.SftpException.class com.jcraft.jsch.DHG1.class com.jcraft.jsch.ChannelForwardedTCPIP.class com.jcraft.jsch.ChannelSession.class com.jcraft.jsch.PortWatcher.class com.jcraft.jsch.ProxySOCKS4.class com.jcraft.jsch.UserAuthPassword.class com.jcraft.jsch.UIKeyboardInteractive.class

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值