LINEで送る
Pocket

というわけで、Alpine Linuxでパスワードなしのユーザーで鍵認証すると Permission denied (publickey,keyboard-interactive). と言われるので、もろもろチーム内で調査をしてみました。


■事象

  • /etc/ssh/sshd_config

  • add user

  • ssh login(no pass)

  • ssh login(setting pass)

上記のようにパスワードを設定すると何故か鍵認証が可能になる。


■パスワードを設定していないユーザで ssh ログインしようとすると公開鍵認証でもログインに失敗する

https://tkuchiki.hatenablog.com/entry/2013/05/27/211051

Linux だと、/etc/shadow の USERNAME:の次に「!!」と書いて有る場合は lockされているっぽい(FreeBSD だと 「*LOCKED*」)。
確かに、/etc/shadow に !! と書いてあった。
パスワードを設定したら、!! が ランダム文字列に置き換わっていた。

とのことなので新しくユーザーを作成して確認してみると!!確かにlockされていることがわかりました。


■じゃあどうしたらいいわけ!?

debianでは --disabled-password というオプションを指定すればロック状態にはならないのですが、Alpineだとこのオプションではロックがかかったままとなっていました。ちなみに以下のようにAlpineだとBusyBoxのコマンドで成り立っています。

  • Alpine Linux

逆にdebianはbusyboxではなかったので、同じ adduser コマンドでもバイナリが違うということになりますので気をつけましょう。

  • debian

なので、そもそもロックを解除すればいいわけで、以下のように passwd コマンドで指定してあげれば、パスワードなしでも鍵認証が可能となります。


 ■まとめ

ディストリビューションごとに設定が特殊ということなので、認識するしかないですが、BusyBoxのコマンドについてもっと調べる必要がありますね。これはハマった。

LINEで送る
Pocket

カテゴリー: Alpine Linux

adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、グループ会社のインフラをECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください