You will need a rooted device to do this!
I’ve obtained more than one android device, and I was looking at installing the google authenticator app on it as well, however, google wanted me to delete my existing key and create a new one if I was going to configure other devices. This means disabling 2 factor authentication, and I’m not sure if that would mean recreating all of my application specific passwords…but I didnt fancy that..
$ adb shell # sqlite3 /data/data/com.google.android.apps.authenticator/databases/databases sqlite> select * from accounts; 1|[email protected]|your2factorkey|0|0 sqlite> .quit #exit
Now open google authenticator on your new device and choose manually add account, put in your email and key as read above. bish bash bosh, done. Validate this is working by running authenticator on both devices, they should have the same id.
If you dont have a rooted device, you will probably just need to disable and re-setup two-factor authentication to discover your new key.
As a side note, I enjoyed discovering the existence of the following packages:
http://code.google.com/p/mod-authn-otp/ – for adding google two factor auth to your webserver, not sure that this supports scratch codes.
http://code.google.com/p/google-authenticator/ – for adding google two factor auth to your linux machine/services, available on debian as libpam-google-authenticator. It has terminal based ascii-art QR-codes, cool! You can probably just update your ~/.google_authenticator with your key you extracted and also manually enter your scratch codes into this file.