iOS開発環境でlibssh2 1.4.3 を使うと 公開鍵認証に失敗する件について

去年引き継いだ2012年頃からのiOSのプロジェクトが

GitHub - x2on/libssh2-for-iOS: A script for compiling libssh2 for iOS Devices (iPhone, iPad, iPod Touch). The example app can connect to an server with SSH and execute commands.

これ使ってるんだけど、64bit 非対応なので、最新版に差し替えつつ64bit 対応にしてみた ・ω・

でもね…。

libssh2_userauth_publickey_fromfile
を呼び出すと -18 または -19が返ってくるの

LIBSSH2_ERROR_AUTHENTICATION_FAILED -18
LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED -18
LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED -19

要するに認証エラー

Issue while SSH with RSA key. ・ Issue #32 ・ x2on/libssh2-for-iOS ・ GitHub

I am using latest version of libssh2 (1.4.3) and I have build it with
"libgcrypt" as per script "build-all.sh". Now it's all working fine but I
am getting one issue with this is When I try to SSH with my server
using RSA key it fails to authenticate and returns
-18(LIBSSH2_ERROR_AUTHENTICATION_FAILED) in function
"libssh2_userauth_publickey_fromfile(session, username, publickey,
privatekey, passphrase)".
Not sure What's wrong with new version of library? As Same thing working
fine with the older version 1.4.2. But I had to update with latest one
to make arm64 compatible.

これと同じ症状

latest libssh2 library fails to authenticate with public key (RSA) libssh2_userauth_publickey_fromfile ・ Issue #68 ・ libssh2/libssh2 ・ GitHub

こっち見ると、 libssh2_userauth_publickey_fromfile_ex 使ったらエラー出ないって書いてあったけど駄目だわ。

Re: [libssh2] #295: latest libssh2 library with support 64 bit architecture fails to authenticate with public key (RSA) libssh2_userauth_publickey_fromfile
調べたらこんなのあった、
64bit 対応になったこのバージョンから1.4.3 から認証に失敗するとか

仕方ないので、新しい、libssh2 を iOS 開発環境で使える新しいバッチファイル探してみた

GitHub - Frugghi/iSSH2: A bash script to compile Libssh2 (and OpenSSL) for iOS, iPhone Simulator and OSX.

    Xcode: 7.3.0
    iOS SDK: 9.3
    MacOS SDK: 10.11
    Libssh2: 1.7.0
    OpenSSL: 1.0.2g
    Architectures: armv7, armv7s, arm64, i386, x86_64

あら素敵・ω・!

とりあえず、コンパイルして、ライブラリ入れてみたところ、認証エラーから解放されたのでした。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です