SSH 到远程服务器

Fumbani Banda 2022年5月11日
SSH 到远程服务器

本教程演示了如何使用 ssh 安全地连接到远程 Linux 服务器。

使用 SSH (Secure Socket Shell) 安全访问远程 Linux 服务器

SSH 是 Secure Socket Shell 的缩写。它是一种用于安全访问远程 Linux 机器的协议。

一旦在你的计算机和远程 Linux 机器之间建立了 SSH 连接,就会在远程 Linux 机器上启动一个 shell,你可以在你的计算机上访问这个 shell。你可以使用此 shell 在远程 Linux 机器(如本地计算机)上运行所有命令。

SSH 协议对于访问远程 Linux 机器非常安全,系统和网络管理员通常使用它来维护和配置远程 Linux 机器。

SSH 使用客户端-服务器架构。它具有客户端组件和服务器端组件。想要访问远程 Linux 机器的人需要在他们的机器上安装 SSH 客户端。

SSH 客户端是访问远程 Linux 机器的程序。该人将远程 Linux 机器的信息和凭据输入 SSH 客户端,如果详细信息有效,则启动安全的 SSH 连接。

服务器端组件在远程 Linux 机器上运行。远程 Linux 机器需要安装并启动和运行 SSH 服务。

SSH 服务不断监听特定端口(如服务器)的传入连接。如果 SSH 客户端发起连接,SSH 服务会以它支持的协议版本进行响应,两者将交换用于识别的数据。一旦凭证有效,就会建立 SSH 连接。

有很多 SSH 工具可以使用。OpenSSH 就是其中之一,主要用于 Linux 发行版。本教程将使用 OpenSSH 进行演示。

在 Linux 中安装 OpenSSH 客户端

许多 Linux 发行版都已经安装了 SSH 客户端。在 Linux 中,最好在安装程序之前检查程序是否已安装。

我们通过输入 ssh 并按Enter来检查 ssh 是否已经安装。

ssh img1

ssh 命令在标准输出中显示其使用情况。这意味着 SSH 客户端已经安装。如果未安装 SSH 客户端,请先安装它,然后再继续本教程。

键入以下命令以在你的计算机上安装 OpenSSH 客户端。它将要求你输入超级用户密码,提供密码以继续安装。

sudo apt-get install openssh-client

Windows 用户可以使用著名的 PuTTY 程序作为 SSH 客户端。

在远程 Linux 机器上安装 OpenSSH 服务器

在访问远程 Linux 机器之前,请确保 OpenSSH 服务器已安装在该机器上。如果未安装,请确保安装它。

要在 Linux 上安装 OpenSSH 服务器,请运行以下命令。

sudo apt-get install openssh-server

我们尝试在下图中安装 OpenSSH 服务器,但机器说我们已经在我们的机器上安装了 OpenSSH 服务器。

ssh img2

在远程 Linux 机器上启动 OpenSSH 服务器

在远程 Linux 机器上成功安装 OpenSSH 服务器后,我们需要启动 OpenSSH 服务来监听来自 SSH 客户端的传入连接。

首先,我们通过输入 sudo service ssh status 检查 OpenSSH 服务的状态。下面的输出表明该服务处于非活动状态。

ssh img3

我们使用 sudo service ssh start 命令来启动 OpenSSH 服务。该命令启动 ssh 守护程序运行。

我们使用 sudo service ssh status 命令来检查服务的状态。输出表明该服务现在处于活动(运行)状态。

远程 Linux 机器安装了 OpenSSH 服务器,并且它已启动并正在运行。它现在已准备好接受来自 SSH 客户端的传入连接。

ssh img4

使用 ssh 命令访问远程 Linux 机器

我们在远程 Linux 机器上创建一个新用户,我们将在本教程中用于演示目的。使用 useradd 命令,我们创建一个新用户 delftstack

我们使用 passwd 命令设置用户的密码 delftstack

ssh img5

现在,我们进入安装了 OpenSSH 客户端的机器,并尝试使用新创建的用户 delftstack 访问远程 Linux 机器。

SSH 使用以下符号登录到远程 Linux 机器。

ssh username@remotehostname
ssh username@remoteIPaddress

SSH 将询问用户的密码 delftstack,输入密码,然后按Enter。看到如下输出后,你已成功登录到远程 Linux 机器。

ssh img6

作者: Fumbani Banda
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub