finch vm init 時に ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain メッセージ出力時に確認したこと
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 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 して改修されたら更新します。検証用途で評価していきたいところです。