Remote access refers to connecting to and controlling a computer over a network connection. Remote users often have the same control over the computer as they would if they had physical access to it. It allows a website administrator to remotely manage a web server at a data center, or a person working from home to access and control their computer at the office.
A computer set up to allow remote access can provide a text-based command line or a full graphical user interface, depending on which protocol the connection uses — SSH provides a text-based command line, while VNC and Microsoft's proprietary RDP protocol provide a GUI. All methods require that both computers run compatible remote access software — server software on one and a client app on the other. Some operating systems include remote access server software built-in, including Professional (but not Home) editions of Windows, macOS, and most Linux distributions. Third-party applications are also available that offer more features than built-in tools.
Connections between computers are encrypted to prevent other people and devices from eavesdropping a remote access session. SSH and RDP both encrypt connections by default, but VNC does not; instead, VNC sessions are often tunneled through an encrypted SSH connection. Remote access sessions may also use a VPN for additional security, and in many cases (like connecting to a computer on a corporate network), a VPN is required to ensure a secure connection.