It’s a certain way for devices to communicate with each other over a network..FTP and SSH are both network protocols that run on top of the TCP/IP layer, just like HTTP.
Just like a web browser uses the HTTP protocol to talk with websites, a shell account needs a certain protocol to enable data exchange between the two networked devices.
SSH – Secure Shell Protocol.
SSH uses a public key encryption and was developed to replace Telnet and other insecure shell protocols. The two major versions, SSH-1 and SSH-2, are now the dominating protocols to access shell accounts.
These days, SSH is used to log into and execute code on remote hosts, browse the web using encrypted proxy clients, and transfer files – even setting up a Virtual Private Network.
SSH clients are available for all major operating systems. Unix-based systems, including Linux and Mac OS X, can use OpenSSH.
- Widely known and used
- The communication can be read and understood by the human
- Provides services for server-to-server file transfer
- SSL/TLS has good authentication mechanisms (X.509 certificate features)
- FTP and SSL/TLS support is built into many internet communication frameworks.
- Doesn’t have a uniform directory listing format
- Requires a secondary DATA channel, which makes it hard to use behind the firewalls
- Doesn’t define a standard for file name character sets (encodings)
- Not all FTP servers support SSL/TLS
- Doesn’t have a standard way to get and change file and directory attributes
- Has good standards background which strictly defines most (if not all) aspects of operations
- Has only one connection (no need for DATA connection)
- The connection is always secured
- The directory listing is uniform and machine-readable
- The protocol includes operations for permission and attribute manipulation, file locking and more functionality
- The communication is binary and can’t be logged “as is” for human reading
- SSH keys are harder to manage and validate
- The standards define certain things as optional or recommended, which leads to certain compatibility problems between different software titles from different vendors.
- No server-to-server copy and recursive directory removal operations
- No built-in SSH/SFTP support in VCL and .NET frameworks