Considering the likely audience, starting with 0 seems adequate. (see http://en.wikipedia.org/wiki/Zero-based_numbering)
True, but when using numbers to make a menu selection, it makes more sense to start numbering at 1, because of the way number keys are arranged across the top of the keyboard. It's slightly less intuitive to have the key corresponding to the first menu option positioned far to the right of the subsequent options.
Good point about the positions of the keys.
In fact, I had never thought that one could argue that the '0' key should be to the left of the '1' key… keyboards predate computers, so I see why this is not the case, but it could be argued.
Yes, I think I understand why it starts with 0. However, this is about context. When I am coding, I know indexes start with 0. When I am picking from a list of items in a menu, the context is starting from one.
When you go to a restaurant and you order the first thing on the menu, you don't say "I'd like to have the zeroth item" do you?
Choose the public key you'd like to use:
[0] id_dsa.pub
[1] id_rsa.pub
[q] Quit
This should start with 1, not 0.