finch vm init 時に ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain メッセージ出力時に確認したこと

2022.12.11

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

finch を使ってみようとインストールしました。仮想マシン起動のfinch vm initコマンド実行するとエラーメッセージ出力され、インストール早々に困りました。

確認した結果、とくに問題なかったので検索でたどり着いた方がトラブルシュートで余計な時間を使わぬよう調査記録を残しておきます。

対象エラーメッセージ

FATA[0126] failed to setup ssh client: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

環境

finch のバージョンは現時点で最新の v0.1.1(2022/12/6 リリース)を利用しています。

$ finch version
finch version v0.1.1

$ uname -v
Darwin Kernel Version 21.6.0: Mon Aug 22 20:19:52 PDT 2022; root:xnu-8020.140.49~2/RELEASE_ARM64_T6000

$ sw_vers
ProductName:	macOS
ProductVersion:	12.6
BuildVersion:	21G115

状況

README を参考に finch のインストールをしました。

GitHub - runfinch/finch: The Finch CLI an open source client for container development

$ brew install --cask finch

$ finch version
Finch version: v0.1.1

コンテナを実行するための仮想マシンを初期化して起動するとFATALレベルのメッセージが出力されました。

$ finch vm init

INFO[0000] Using default values due to missing config file at "/Users/ohmura.yasutaka/.finch/finch.yaml"
INFO[0000] "/Users/ohmura.yasutaka/.finch" directory doesn't exist, attempting to create it
INFO[0000] binaries directory doesn't exist
INFO[0000] Requesting root access to finish network dependency configuration
Password:
INFO[0007] sudoers file not found: open /etc/sudoers.d/finch-lima: no such file or directory
INFO[0007] Initializing and starting Finch virtual machine...
INFO[0126] Finch virtual machine started successfully
FATA[0126] failed to setup ssh client: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

この状態でもINFO[0126] Finch virtual machine started successfully のメッセージから VM は起動できていそうです。finch runコマンドでコンテナ起動は可能でした。ともあれ調査してみます。

$ finch run --rm public.ecr.aws/finch/hello-finch
public.ecr.aws/finch/hello-finch:latest:                                          resolved       |++++++++++++++++++++++++++++++++++++++|
index-sha256:a71e474da9ffd6ec3f8236dbf4ef807dd54531d6f05047edaeefa758f1b1bb7e:    done           |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:705cac764e12bd6c5b0c35ee1c9208c6c5998b442587964b1e71c6f5ed3bbe46: done           |++++++++++++++++++++++++++++++++++++++|
config-sha256:6cc2bf972f32c6d16519d8916a3dbb3cdb6da97cc1b49565bbeeae9e2591cc60:   done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:ec080f7c92e9eb0227d60951f7c779648989116d97a5926f3e8684d4e46df196:    done           |++++++++++++++++++++++++++++++++++++++|
elapsed: 4.9 s                                                                    total:  1007.7 (205.6 KiB/s)

                            @@@@@@@@@@@@@@@@@@@
                        @@@@@@@@@@@@    @@@@@@@@@@@
                      @@@@@@@                  @@@@@@@
                    @@@@@@                        @@@@@@
                  @@@@@@                            @@@@@
                 @@@@@                      @@@#     @@@@@@@@@
                @@@@@                     @@   @@@       @@@@@@@@@@
                @@@@%                     @     @@            @@@@@@@@@@@
                @@@@                                               @@@@@@@@
                @@@@                                         @@@@@@@@@@@&
                @@@@@                                  &@@@@@@@@@@@
                 @@@@@                               @@@@@@@@
                  @@@@@                            @@@@@(
                   @@@@@@                        @@@@@@
                     @@@@@@@                  @@@@@@@
                        @@@@@@@@@@@@@@@@@@@@@@@@@@
                            @@@@@@@@@@@@@@@@@@


Hello from Finch!

Visit us @ github.com/runfinch

原因と対応

原因

GitHub の Issue に同エラーのバグ報告があがっていました。

Finch vm init failed after install · Issue #38 · runfinch/finch

対応

該当の Issue に直接対応した修正ではありませんが関連するところで SSH の PublicKey を無視する修正が入ります。

fix: ignore .ssh pub keys by pendo324 · Pull Request #109 · runfinch/finch

私が確認した時点で昨日(2022/12/9)main ブランチにマージされていたため、次期リリースされるバージョンで本エラーは改善が見込めるかもしれません。

新バージョンリリースされ次第、追って更新する予定です。

それまでどうするの?

コンテナが起動するため遊ぶ分にはとくに問題なさそうです。他のバグを引いたら引いたでその時考えましょう。

以下のリンクから WordPress を起動する docker-compose.yaml を拝借して動作テストしてみます。

nerdctl/docker-compose.yaml at main · containerd/nerdctl

docker-compose.yaml

# Docker Compose stack for WordPress, from https://hub.docker.com/_/wordpress

# !!! Make sure to substitute "examplepass" with your own password !!!

version: '3.1'

services:

  wordpress:
    image: wordpress:5.7
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress:/var/www/html

  db:
    image: mariadb:10.5
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:

finchコマンドでコンテナを立ち上げてみました。

$ finch compose up -d
--- snip ---

$ finch ps
CONTAINER ID    IMAGE                              COMMAND                   CREATED         STATUS    PORTS                   NAMES
1329de10181a    docker.io/library/wordpress:5.7    "docker-entrypoint.s…"    1 hours ago    Up        0.0.0.0:8080->80/tcp    finch_wordpress_1
4b987511a251    docker.io/library/mariadb:10.5     "docker-entrypoint.s…"    1 hours ago    Up                                finch_db_1

localhost:8080で WordPress の画面を確認でき、テスト投稿もできました。コンテナは問題なく動作しているようです。

おわりに

休日だったのでどうせコンテナ起動するなら噂の finch で起動してみるかと試してみたら気になるエラーが出たので調査した記録でした。エラーメッセージでググってすぐに答えが見つからなかったので書き残しておきました。リリースされて間もないためいろいろとありますよね。該当の Issue は Watch して改修されたら更新します。検証用途で評価していきたいところです。

参考