3

I use Microsoft Remote Desktop and have passwords saved for different remote desktop connections. Since some time back I get the error:

We couldn't retreieve your password from your keychain, please enter your password again.

Screenshot from Microsoft Remote Desktop

I've reset the Keychain inside Keychain Access Management: Screenshot from Keychain Access Management

I've also looked for cached files in ~/Library/Caches but didn't find any for Microsoft Remote Desktop.

I get the same problem when running Microsoft Remote Desktop Beta.

3 Answers 3

5

I solved it by deleting the username/password settings from MS Remote Desktop Preferences. After adding them again, it works.

Screenshot from Microsoft Remote Desktop Preferences

0

I resolve this issue on Mac in app "Keychain access".

So go in app "Keychain access"(Mac may open Passwords on last OS, so be attentive) Found there name "Microsoft Remote Desktop" and delete it. enter image description here

Second trick, go to you name in "Keychain access" and set there "always allow .. applications" or use "allow all applications to access this item". I recommend revert back it after you will add Workspace. enter image description here

Issue gone: 'Microsoft remote desktop wants to use "System" keychain' enter image description here

0

I created a program called msrdp-credential-dumper that enumerates MS-RDP connections and their associated credentials—including the passwords (if they are saved in the Keychain). Visit the GitHub repo luckman212/msrdp-credential-dumper for a bit more detail and to download.

The first time you run it, you may be prompted to enter your password so the security tool can access the Keychain items.

Sample output

Source

DB="$HOME/Library/Containers/com.microsoft.rdc.macos/Data/Library/Application Support/com.microsoft.rdc.macos/com.microsoft.rdc.application-data.sqlite"
[[ -r $DB ]] || { echo 1>&2 "database could not be accessed"; exit 1; }

MAXCOLS=$(tput cols)
[[ -n $MAXCOLS ]] || MAXCOLS=80
export C1=$(( MAXCOLS / 4 ))
export C2=$(( MAXCOLS / 5 ))

( tput bold ; tput smul ;
    printf "%-${C1}s %-${C2}s %s\n" Name Hostname 'Username/Password' ;
    tput sgr0 ;
    while IFS='|' read -r B_ZFRIENDLYNAME B_ZHOSTNAME C_ZID C_ZUSERNAME _ ; do
        PASSWD=$(security 2>/dev/null find-generic-password -w -s com.microsoft.rdc.macos -a "$C_ZID")
        printf "%-${C1}s %-${C2}s %s\n" "${B_ZFRIENDLYNAME:0:$C1}" "$B_ZHOSTNAME" "${C_ZUSERNAME:--}${PASSWD:+ / $PASSWD}"
    done < <(sqlite3 "$DB" <<-EOS
    SELECT
        b.ZFRIENDLYNAME,
        b.ZHOSTNAME,
        c.ZID,
        c.ZUSERNAME
    FROM
        ZBOOKMARKENTITY as b
    LEFT JOIN ZCREDENTIALENTITY as c on b.ZCREDENTIAL = c.Z_PK
    ORDER BY b.ZFRIENDLYNAME
    EOS
    )
)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .