Differences
This shows you the differences between the selected revisions of the page.
ssh 2004-12-15 | ssh 2023-06-05 (current) | ||
Line 1: | Line 1: | ||
====== Understanding SSH ====== | ====== Understanding SSH ====== | ||
+ | SSH is a cryptographically protected remote login protocol that replaces insecure telnet and rlogin protocols. It provides strong protection against password sniffing and third party session monitoring, better protecting your authentication credentials | ||
+ | and privacy. In addition, %%SSH%% offers additional authentication methods that are considered more secure than passwords, such as [[public_key|public key authentication]] and extensive | ||
+ | protection against spoofing. | ||
+ | |||
+ | The %%SSH%% employs a public key cryptography that uses [[ssh_keys|two keys pairs, for host and user]]. | ||
+ | |||
+ | ===== [[authentication]] Authentication in SSH ===== | ||
+ | SSH servers offer the client a selection of authentication | ||
+ | methods. The server advertises what it supports, and the client | ||
+ | attempts to authenticate over each method that it can support. | ||
+ | Generally, the client will choose methods that are the least intrusive | ||
+ | to the user, if they are available. In most cases, the client provides | ||
+ | the option to choose which methods can be used. In WinSCP, you can configure this on //[[ui_login_authentication|SSH > Authentication page]]// of Advanced Site Settings dialog. | ||
+ | |||
+ | The actual order of authentication methods is as follows: [[ui_login_authentication#gssapi|GSSAPI]], [[public key]] (using [[ui_pageant|Pageant]]), public key (using [[ui_login_authentication|configured file]]), keyboard-interactive, password. | ||
+ | |||
+ | ===== [[verifying_host_key]] Verifying the Host Key ===== | ||
+ | To prevent [[wp>Man-in-the-middle_attack|man-in-the-middle attacks]], each SSH server has a unique identifying code, called a host key. These keys prevent a server from forging another server's key. If you connect to a server for the first time or if the server presets a different key than previously, WinSCP will prompt you to [[ssh_verifying_the_host_key|verify the key]]. | ||
+ | |||
+ | ===== Encryption in SSH ===== | ||
+ | SSH clients and servers can use a number of encryption methods. | ||
+ | Most widely used encryption methods in SSH are AES and | ||
+ | Blowfish. By default, %%AES%% is used if supported by the server. While %%AES%% is | ||
+ | considered to be highly secure, %%AES%% encryption requires substantial processor overhead. Blowfish is also considered | ||
+ | secure, but with less computational overhead, it's also theoretically | ||
+ | easier to perform a brute-force attack. Depending on your security and | ||
+ | performance requirements, you may wish to configure WinSCP to prefer | ||
+ | the %%Blowfish%% algorithm. %%3DES%% and %%DES%% are used with %%SSH-1%% servers. %%DES%% | ||
+ | is widely regarded as insecure, as the resources to perform an | ||
+ | exhaustive brute-force attack have been well within the realm of | ||
+ | commercial feasibility for some time. | ||
+ | |||
+ | ===== SSH Protocols ===== | ||
+ | Two major versions of the SSH protocol exist, SSH-2 and SSH-1. Most %%SSH%% servers nowadays allow modern and secure %%SSH-2%% only, which is also WinSCP's default. | ||
+ | |||
+ | ===== [[compression]] Compression ===== | ||
+ | SSH supports data stream compression between the client | ||
+ | and the server. On slow links, this may increase throughput, while in faster connections the added CPU overhead may actually result in | ||
+ | slower transfers, particularly depending on the data type you're transferring. Large text files may still benefit significantly, while | ||
+ | binaries may transfer more slowly. You may want to | ||
+ | experiment to find what works best in your situation. Compression may | ||
+ | also improve security slightly, in part by rendering known cyphertext | ||
+ | attacks more difficult and by providing less data for | ||
+ | cryptanalysis. | ||
+ | |||
+ | ===== Supported Algorithms ===== | ||
+ | |||
+ | See list of [[ssh_algorithms|supported SSH algorithms]]. |