This chapter is all about programming with the Secure Shell (SSH) protocol. SSH is a secure network protocol used to authenticate with remote servers, grant command-line access, and securely transfer files.
SSH is widely used for the configuration and management of remote servers. Oftentimes, web servers aren't connected to monitors or keyboards. For many of these servers, SSH provides the only method of command-line access and administration.
The following topics are covered in this chapter:
- SSH protocol overview
- The libssh library
- Establishing a connection
- SSH authentication methods
- Executing a remote command
- File transfers