htpasswdはデフォルトではパスワードが8文字以上となった場合、以降の文字列を無視する。
そうなった場合、-mオプションを追加してMD5アルゴリズムを使用しハッシュを生成する必要がある。

$ htpasswd -cm .htpasswd username

ランダムなパスワードを生成する場合は下記コマンドを使用する。

参考:https://qiita.com/567000/items/81b2c742f87eb7ff6504

$ cat /dev/urandom | base64 | fold -w 16 | head -n 1
  • base64コマンドは「a~z A~Z 0~9 + /」が使用されるため、文字を増やしたい・減らしたい場合は他のコマンドを使用する
  • 「fold -w 16」の16は「16文字区切りでテキストを改行」することを意味しているため、文字数を調整する場合はこの数値を変更する
  • 「head -n 1」の1は最初の1行を示しているため、複数行欲しい場合はこの数値を変更する