Everybody seems to agree that granting SSH login to the root
user is a Bad Idea (tm). But does this mean I should create an account for myself on every machine that I administer? One with sudo
privileges? Do you usually create one generic account, or do you create one account for every mammal that's supposed to access that machine?
If you have a large number of users, or a large number of machines, consider using pam authentication and an ldap server. That way you have all your network authentication in one location.
That said, a generic user account with sudo rights may be helpful if network connectivity is lost.
It all depends. I agree with joschi that with public key authentication you are quite OK in terms of security. However, another reason why this may not be what you want is that you cannot easily trace who actually made what change. If people have to log in with their personal credentials and then use su or sudo, it's much easier to trace changes back to the originator.
We have a mixed environment, and we use MS Active Directory for user authentication everywhere, including all Linux servers. The IT folks (and we are only 5) also have key based access to the root accounts, in case we need it.