One per device seems a good rule of thumb. If you have 2 laptops, each gets a diff ssh key, and then you config both in github/server(s).
It's slightly more painful to setup, but you get more flexibility later on in case you loose one key you have the other, and in case you need to cancel just one you can.
If you use hardware security keys, you get one per device naturally.