首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ckosshtunnel和AuthenticatePk进行身份验证失败或部分成功

使用ckosshtunnel和AuthenticatePk进行身份验证失败或部分成功
EN

Stack Overflow用户
提问于 2019-04-24 20:28:35
回答 1查看 193关注 0票数 0

我遇到了一个问题,我可以通过公钥通过命令行连接到ssh服务器:

ssh -N -L 12345:127.0.0.1:22 -i /Users/kylehankinson/.ssh/id_rsa USER@HOST

但是如果我通过代码尝试同样的事情:

代码语言:javascript
复制
CkoSshKey * sshkey = [[CkoSshKey alloc] init];
sshkey.Password = @"blahblah";

NSString * privateKeyString = [sshkey LoadText: @"/Users/kylehankinson/.ssh/id_rsa"];

if(![sshkey FromPuttyPrivateKey: privateKeyString])
{
    NSLog(@"Had failure: %@", sshkey.LastErrorText);
    return;
}

CkoSshTunnel *ssh = [[CkoSshTunnel alloc] init];
success = [ssh Connect: @"HOST" port: @(22)];
if (success != YES)
{
    NSLog(@"%@",ssh.LastErrorText);
    return;
}

success = [ssh AuthenticatePk: @"USER"
                   privateKey: sshkey];
if(!success)
{
    NSLog(@"%@",ssh.LastErrorXml);
    return;
}

我收到以下错误:

代码语言:javascript
复制
<ChilkatLog>
  <AuthenticatePK>
    <DllDate>Apr 16 2019</DllDate>
    <ChilkatVersion>9.5.0.78</ChilkatVersion>
    <UnlockPrefix>xxxxxxx</UnlockPrefix>
    <Architecture>Little Endian; 64-bit</Architecture>
    <Language>Cocoa Objective-C</Language>
    <VerboseLogging>0</VerboseLogging>
    <login>sshtunnel</login>
    <sshAuthenticatePk>
      <keyFingerprint>ssh-rsa 2048 xxxxxxxxx</keyFingerprint>
      <requestUserAuthService>
        <sendServiceRequest>
          <svcName>ssh-userauth</svcName>
          <SentServiceReq>ssh-userauth</SentServiceReq>
        </sendServiceRequest>
        <info>ssh-userauth service accepted.</info>
      </requestUserAuthService>
      <info>Using an RSA key.</info>
      <info>Sent public-key request.</info>
      <AuthList>publickey,password</AuthList>
      <rsaSigLen>256</rsaSigLen>
      <info>Sent public-key request with signature.</info>
      <error>Authentication failed or partial success. (4)</error>
      <PartialSuccess4>0</PartialSuccess4>
      <AuthList>publickey,password</AuthList>
      <error>Publickey authentication failed..</error>
    </sshAuthenticatePk>
    <error>Failed.</error>
  </AuthenticatePK>
</ChilkatLog>

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-25 08:30:19

谢谢凯尔

这里有一个新的构建来解决这个问题:https://chilkatdownload.com/prerelease/chilkat-9.5.0-macosx-objc-1408.zip

问题的根源与OpenSSH密钥格式中的私钥blob格式有关。解析RSA密钥部分的顺序不正确。(如果密钥是从PuTTY私钥格式.ppk加载的,则没有问题。)

PS>以上下载链接是临时的,以后将不再有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55830070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档