zzamboni.org

Synchronizing 1Password Data Between Two Local Accounts (Howto)

I am a big fan of the incredibly useful 1Password. The latest beta release (2.8.3.BETA-11) introduces a new keychain format that, among other things, allows 1Password to detect changes made to the file by other programs and reload the changes on the fly. I am using this now to keep my 1P data synchronized between my work and personal accounts on my machine. Here’s what I did:

  1. In my work account (dza), switch to the AgileKeyChain format by following the instructions.
  2. Modify the ACL for my ~/Library/Application Support/1Password/ folder to allow my personal account (zamboni) read/write access. I did this using the “Sharing & Permissions” section of the Info dialog for the folder, and then choosing “Apply to enclosed items” from the cogwheel menu in that same section.
  3. Switch to my personal account.
  4. Quit 1Password, run the defaults command from the instructions, restart 1Password.
  5. Export my existing 1Password data in the “1Password Interchange file” format. To do this, choose File -> Export all -> 1Password Interchange File, and save it to a file in my desktop.
  6. Double click /Users/dza/Library/Application Support/1Password/1Password.agilekeychain and click “yes” to start using that file.
  7. Import the data from step 5: File -> Import, and follow the prompts. Wait for the data to import.
  8. Switch back to my work account and verify that the imported items are seen there as well.

This is incredibly useful. I had been trying to use the my1Password service to achieve this, but the service is still not very mature and I had been unsuccessful. With this, I can access my data from both accounts without having to send the data through the network or use any third-party services, which is great.