# 远程登录 SSH

Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议。加密保证了数据的保密性和完整性。SSH采用公钥加密技术来验证远程主机，以及(必要时)允许远程主机验证用户。

SSH 通常用于远程访问和执行命令，但是它也支持隧道，转发任意 TCP 端口以及 X11 连接；它还能够用 SFTP 或 SCP 协议来传输文件。

一个 SSH 服务器默认情况下，在 TCP 端口 22 进行监听。一个 SSH 客户端程序通常被用来建立一个远程连接到 sshd 守护进程。这两者都被广泛地存在于现代操作系统中，包括 Mac OS X，GNU/Linux，Solaris 和 OpenVMS 等。以专有软件、自由软件以及开源版本的形式和不同的复杂性和完整性存在。

通常我们使用的 SSH 指的是 OpenSSH。

OpenSSH (OpenBSD Secure Shell) 是一套使用 `ssh` 协议，通过计算机网络，提供加密通讯会话的计算机程序。它被创建为 SSH Communications Security 公司拥有专利的 Secure Shell 软件套装的一个开源替代。OpenSSH 是由 Theo de Raadt 领导的 OpenBSD 项目的一部分。

人们常把 OpenSSH 与相似名字的 OpenSSL 搞混，但是，这两个项目是由不同的团队出于不同的目的开发出来的。相似的名字只是由于相似的目标。

本节将讲述如何使用 SSH，配置 SSH 服务端，以及密钥登录相关。

SSH 的功能远比绝大多数人想象的要强大得多，他可以转发 X11 图形界面，可以转发端口流量，可以建立网络隧道，甚至挂载远程文件系统，但由于篇幅有限，并不会讲到所有这些，若想了解可自行查找 ArchWiki
