I have a linux server running centos, and while hardending the SSH server, I asked myself: Is there a reason to disable root login, when only I (assuming my IP address is static, and i have direct access to internet i.e no routers etc) can access the server (ssh daemon running on port different than 22, tcp connections to that port are accepted only from my IP, the default policy is DROP, using iptables firewall) ?
Here's one: Multiple lines of defense.
If only your computer (that's a very different thing from you) can access the server, then anyone who gains access to your computer could try to access your server.
Why not protect it with another security measure? I'd disable the root login.
Yes. Always disable remote root login.
Logging in as a user creates an audit trail of who logged in before they SU to root.
SuDo reduces accidents by restricting commands to a reduced "remotely available" set. SuDo scripting can also request and log detailed admin activity reports, snapshot file systems, backup changed files, etc..
SSH remote commands can execute without a terminal shell further reducing the attack vector for compromised accounts.
It helps you avoid doing stupid things while remotely logged in as root. Ever tried rebooting a system you've remotely bricked after doing something dumb?
First thing that comes to mind to me is IP Spoofing?