LinuxコマンドラインでプレーンテキストでWi-Fiパスワードを表示するには?

LinuxコマンドラインでプレーンテキストでWi-Fiパスワードを表示するには?

イーサネット経由でインターネットに接続していますが、Wi-Fiパスワードを保存しました。

フォルダ/etc/NetworkManager/system-connectionsが空です。

このコマンドは何も表示しません(変数を目的のuuidに置き換えます)。

# nmcli -s -g 802-11-wireless-security.psk connection show $UUID

これも役に立ちません:

# for uuid in $(nmcli -g UUID connection show); do
    nmcli -g 802-11-wireless.ssid,802-11-wireless-security.psk connection show $uuid | awk -F: '{
        if (NR == 1) printf "SSID: %s\n", $0;
        if (NR == 2) printf "Password: %s\n\n", $0;
    }'
done

このコードの出力は次のとおりです。

SSID: Home_WiFi
Password: <hidden>

SSID: Starbucks_clients
Password: <hidden>

SSID: Sony_phone_hotspot
Password: <hidden>

プレーンテキストでパスワードを取得するのに役立ちましたか?パスワードを再入力せずにWi-Fiが自動的に再接続して認証するため、どこかに保存されます。

@Raffaが提案したコマンドは少し修正されました。

# nmcli dev wifi show-password
Error: No Wi-Fi device found.
# for conn in $(nmcli -t -f NAME con show); do
    echo "Details for $conn:"
    nmcli connection show "$conn" --show-secrets | grep 802-11-wireless-security.psk
done

Details for Wired:
Error: Wired - no such connection profile.
Details for connection:
Error: connection - no such connection profile.
Details for 1:
Error: 1 - no such connection profile.
Details for lo:
Details for virbr0:
Details for Home_WiFi:
802-11-wireless-security.psk:           --
802-11-wireless-security.psk-flags:     1 (agent-owned)
Details for Starbucks_clients:
802-11-wireless-security.psk:           --
802-11-wireless-security.psk-flags:     1 (agent-owned)
Details for Sony_phone_hotspot:
802-11-wireless-security.psk:           password1
802-11-wireless-security.psk-flags:     0 (none)

一部のネットワークではパスワードが表示され、他のネットワークでは表示されません。

- 更新 -

パスワードはで保存されます/usr/bin/kwalletmanager5。コマンドラインから抽出する方法を知っていますか?

関連情報