Thanks for the response. Those articles have answered most of my questions.
However, one thing I cannot figure out is how to disable password authentication on the server? The point of having key-based authentication for me is so that I can disable password authentication and avoid brute force comprises.