使用安全外壳(SSH)
在本节课中,我们将学习如何远程与服务器进行通信。
安全外壳协议(Secure Shell),简称 SSH,是一种允许我们通过互联网远程控制服务器的协议。它是一个基于终端的协议系统,支持 macOS、Linux 和 Windows。
SSH 最初开发的原因是出于对其前身 Telnet 的安全顾虑。由于 SSH 协议采用了数据加密技术,如今的服务器通信更加安全。在功能方面,SSH 可以让我们全面控制运行网站的服务器。
接下来,我们来看看如何在自己的机器上设置 SSH 终端。
SSH 环境
SSH 在 Linux 和 macOS 中已内置,可通过终端访问。对于 Windows,有多种 SSH 客户端可供使用,例如 PuTTY,帮助我们进行 SSH 操作。
基本命令
最重要的 SSH 命令是建立与远程服务器的连接。在终端中需要运行以下命令:
1ssh <用户>@<域名或IP地址>
首先,我们需要指定 用户,即要使用的账户;然后输入网站的域名或 IP 地址。例如,以 root 用户连接服务器的方式如下:
1ssh root@example.com
也可以使用 IP 地址:
1root@192.1.1.1
输入密码后即可登录服务器。该连接通过 SSH 使用 哈希、对称加密 和 非对称加密 技术进行保护。无需深入细节,只需知道这相比 Telnet 的安全机制有了显著提升。
以下是 SSH 终端中可执行的一些基本操作:
| 命令 | 用途 | 语法 |
|---|---|---|
| ls | 显示服务器上的所有文件和目录 | ls(基础)或 ls -a(同时显示隐藏文件) |
| mkdir | 创建新目录 | mkdir newDirectory |
| cd | 进入指定目录 | cd anyFolder |
| touch | 创建指定格式的新文件 | touch newDoc.txt |
| rm | 删除文件或目录。使用 rm -r 可删除目录中的所有内容 | rm newDoc.txt |
| pwd | 显示当前所在目录 | pwd |
| cp | 复制文件和目录 | cp source destination(可在 source 前添加多个选项) |
| scp | 在本地与服务器之间复制文件/文件夹 | scp filename host:path(host 可为域名或 IP 地址) |
| mv | 移动文件和目录 | mv source dest |
| find | 在指定目录中搜索文件,也可返回多个匹配项 | find . -name file.txt |
以上列表并非完整。如需了解更多详情,请参考 Secure Shell 的官方网站。
端口号
默认情况下,SSH 使用 端口 22,但我们可以选择其他端口。更改端口也有助于提高安全性,因为黑客通常只尝试攻击端口 22。
若要自定义 SSH 端口,可使用以下命令:
1ssh -p 端口号 用户@服务器
Git 仓库
如果我们的本地机器和服务器都安装了 Git,就可以通过 SSH 创建私有 Git 仓库。只需进入服务器上目标目录并运行以下命令:
1git init
在理解了 SSH 之后,我们将进入文件传输协议(FTP)的学习,并了解它如何与 SSH 结合使用。