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 して改修されたら更新します。検証用途で評価していきたいところです。