You need to get comfortable on the command line. Many important administration tools are ran from the CLI, and during an incident you will likely have an SSH session open to debug real-time.
The line of work has changed over the years. Previously, servers were manually configured, with minimal monitoring. As the number of servers running has grown, you need to be able to automate things. This involves learning how to program. Good starting languages are Bash, Python, and Ruby.
When computers talk to each other, they use known protocols to communicate. These are heavily used in this field, and the more you know about them, the better.
After learning the basics, you'll need to learn the more advanced aspects of the job.
A side project that I have with a walkthrough on the hows and whys.