网络通常需要远程系统管理,管理员可能在一栋楼里,而需要维护的计算机在另一栋楼里。或者程序员可能在家工作,使用远程访问工具来使用工作场所计算机上的资源。允许这些功能的传统工具是一个名为“telnet”的程序,它提供了对远程系统命令行界面的访问。
telnet 的问题在于它使用纯文本发送所有内容。现代版本是 SSH,它使用多种加密选项,并有多种方法来判断用户是否被授权连接到主机系统。SSH 代表安全 Shell。“Shell”是人/计算机界面的常用术语。
SSH 协议已被用于提供安全的方法来执行其他常见任务。不同的操作系统可能有不同的工具,但像复制或文件管理这样的常见功能通常可以使用通过加密的 SSH 链接运行的工具来完成。
SSH 在每对计算机之间的首次连接时验证计算机身份——两台计算机交换公钥,并在随后的每次连接中检查计算机是否可以解密消息。在首次连接时,SSH 依赖用户来验证他们是否连接到了正确的计算机。在随后的连接中,如果 SSH 不确定远程计算机的身份,它会警告用户。从那时起,身份验证安全取决于用户,尽管 SSH 将继续加密通过它的流量。