title: 【Linux】2FAより安全?GNU PASSとPWGEN! author: 凜 date: 2022-06-21 tags: jp,blog,linux,セキュリティー,暗号化 ---- 2FAを使いますか?\ そうして、本当に安全だと思いますか?\ 貴方のパスワードはすべてのウエブサイトで「114514」か「oboeyasui123」等だったら、勿論2FAを使った方は良いですね。\ でも、全部のウエブサイトで覚えにくくて全然違うパスワードを使ったら、2FAと意味がありません。\ 多分その場合はOTP以外、2FAは不安全です。\ ショートメッセージ、メールトークン等はプレインテキストで届きますので、貴方に届く前に罪人は読める可能性が高いです。\ スマホアプリを使ったら、AppleやGoolag(又はフェイクブック)に簡単に読まれます。\ やっぱり、2FAでデジタル監視は可能です。 # もっと安全の方法の紹介 2FAよりバカみたいに強いパスワードだけの方が安全です。\ 各ウエブサイトで違うパスワードを使ったら、もっと安全になります。 # おすすめ点 最強のパスワードは: * 20文字以上 * 小文字(qwertyuiopasdfghjklzxcvbnm)を含める * 大文字(QWERTYUIOPASDFGHJKLZXCVBNM)を含める * 英数字(1234567890)を含める * 特殊文字(!"#$%&'()-^=~|@{[}]+;*:,<.>\\_)を含める * 2回同じパスワードを使うのは禁止 # パスワード作成ツールの紹介 まずは強いパスワードを作成出来るソフトをインストールしましょう!! ## Arch、Artix、Manjaro、Alter Linuxの場合 ```sh sudo pacman -S pwgen ``` ## Debian、Devuan、Ubuntu、Linux Mintの場合 ```sh sudo apt install pwgen ``` ## OpenBSDの場合 ```sh doas pkg_add pwgen ``` おすすめコマンドは `pwgen -yB1 20` です。 ```sh # pwgen -yB1 20 boengaing[iy4sooh\ei ``` 沢山日本産ソフトでまだ特殊文字を使えませんので、しょうがないですが、その場合 `pwgen -cns1 20` で行いますね… ```sh # pwgen -cns1 20 Eca2NNIJLUPJMfO5V6J8 ``` # パスワード管理ツールの紹介 勿論最強のパスワードは覚えにくいですので、パスワード管理ツールを使うのはおすすめです。 ## Arch、Artix、Manjaro、Alter Linuxの場合 ```sh sudo pacman -S pass ``` ## Debian、Devuan、Ubuntu、Linux Mintの場合 ```sh sudo apt install pass ``` ## OpenBSDの場合 ```sh doas pkg_add password-store ``` パスワードを保存するには、おすすめパターンは「ドメイン名.TLD/ユーザ名」です。 ```sh # pass insert technicalsuwako.moe/idioticcirno mkdir: ディレクトリ '/home/bakachan/.password-store/technicalsuwako.moe' を作成しました Enter password for technicalsuwako.moe/idioticcirno: (pwgenで作成したパスワードを入力して下さい) Retype password for technicalsuwako.moe/idioticcirno: (もう一回同じパスワードを入力して下さい) # ``` パスワードを受け取るには: ```sh # pass technicalsuwako.moe/idioticcirno ohp4ey7Phe$in4Rie(s9 (例のパスワードです) # ``` # 勧め:rofiで便利化 i3を使ったら、確かにrofiというアプリランチャーを使うのは勧めます。\ そうして、rofi-passをインストールしたら、rofiから何でもアプリ、ゲーム等にパスワードを入られます。 ## Arch、Artix、Manjaro、Alter Linuxの場合 ```sh sudo pacman -S rofi rofi-pass ``` ## Debian、Devuan、Ubuntu、Linux Mintの場合 ```sh sudo apt install rofi gawk find xdotool sed sudo cd /usr/bin && sudo git clone https://github.com/carnager/rofi-pass.git sudo cp /usr/bin/rofi-pass/config.example ~/.config/rofi-pass/config sudo chown $(whoami):$(whoami) ~/.config/rofi-pass/config ``` ## OpenBSDの場合 ```sh doas pkg_add rofi gnugrep gawk bash find xdotool sed doas cd /usr/bin && doas git clone https://github.com/carnager/rofi-pass.git doas cp /usr/bin/rofi-pass/config.example ~/.config/rofi-pass/config doas chown $(whoami):$(whoami) ~/.config/rofi-pass/config ``` ### rofi-passのコンフィグファイルの変更は必要です ```sh nvim ~/.config/rofi-pass/config ``` ``` ... layout_cmd () { setxkbmap jp106 } # fields to be used URL_field='url' USERNAME_field='path' AUTOTYPE_field='autotype' ... default_do='menu' # menu, autotype, copyPass, typeUser, typePass, copyUser, copyUrl, viewEntry, typeMenu, actionMenu, copyMenu, openUrl auto_enter='false' notify='false' default_autotype='path :tab pass' ... # default_user is also used for password files that have no user field. default_user=":filename" ``` ### i3コンフィグファイルで ```sh nvim ~/.config/i3/config ``` ``` bindsym $super+Shift+d exec i3-dmenu-desktop --dmenu="dmenu -i -fn 'Noto Sans:size=8'" bindsym $super+d exec rofi -lines 12 -padding 18 -width 60 -location 0 -show drun -sidebar-mode -columns 3 -font 'Noto Sans 8' bindsym $super+p exec rofi-pass ``` それでSuper+Shift+Dで普通dmenuが出ます。\ Super+Dを押したら、rofiが出ます。\ そうして、Super+Pを押したら、rofi-passが出ます。 # 勧め:複数デバイスに同期を取る 複数デバイスがあれば(例えば、パソコン、ノートパソコン、及びLinuxスマホを持つ場合)、パスワードの同期は勧めます。\ まずはすべてのデバイスでrsyncをインストールして、sshサービスを有効にして下さい。\ 後は: ```sh rsync -rtvzP ~/.gnupg ユーザ名@デバイスのIPアドレス:~ rsync -rtvzP ~/.password-store ユーザ名@デバイスのIPアドレス:~ ``` 同じユーザ名の場合、「ユーザ名@」を書かなくてもOKです。 以上