🚀 Ultra-fast web hosting from just $1/month!
HostPedia

SSH

Protocols
Definition

SSH is a secure network protocol used to remotely access and manage servers over an encrypted connection. It authenticates users with passwords or cryptographic keys and protects commands, file transfers, and tunneling from eavesdropping and tampering. In web hosting, SSH is a primary tool for administrators and developers to deploy code, troubleshoot services, and automate maintenance safely.

How It Works

SSH (Secure Shell) runs as a client-server system. You connect from a local SSH client to an SSH server process on the host (typically listening on TCP port 22). During the handshake, the server proves its identity using a host key, the connection negotiates encryption and integrity algorithms, and then the user authenticates with either a password or, more commonly for hosting, a public key. Once authenticated, SSH provides an encrypted channel for interactive shell sessions and remote command execution.

Beyond terminal access, SSH supports related capabilities such as SFTP and SCP for secure file transfers, and port forwarding (tunneling) to securely reach internal services like databases or admin panels without exposing them publicly. Administrators often harden SSH by disabling password logins, requiring key-based authentication, restricting which users can log in, limiting root access, and using firewall rules or allowlists to reduce attack surface.

Why It Matters for Web Hosting

SSH access can be a deciding factor when comparing hosting plans because it determines how much control and automation you can use. With SSH, you can deploy via Git, run Composer or npm builds, manage permissions, inspect logs, and restart services (where allowed). When evaluating providers, check whether SSH is included, whether you get full shell or restricted access, if key-based login is supported, and what limits exist on commands, ports, or user privileges.

Common Use Cases

  • Secure remote administration of Linux hosting accounts and servers
  • Deploying websites and applications using Git, rsync, or scripted releases
  • Secure file transfers with SFTP/SCP instead of FTP
  • Running maintenance tasks: backups, log review, permission fixes, cron troubleshooting
  • Creating SSH tunnels to access private services (for example, a database) during development
  • Automating server tasks with CI/CD pipelines and configuration management tools