如何使用 SSH 远程管理 Linux 服务器

SSH 代表 Secure Shell,它是一种用于安全访问本地网络或 Internet 上的远程服务器以进行配置、管理、监控和故障排除等的协议。

在本文中,我将讨论如何借助 SSH 管理远程 Linux 服务器。

我已经在我的 Debian 10 机器上执行了所有命令。

先决条件

您需要具备以下条件。

  1. 两台具有 root 权限的 Debian 10 机器。
  2. 远程机器的 IP 地址、用户名和密码。
  3. 两台机器上的互联网连接。

如何安装一个开放的SSH服务器?

在您的基础设施中设置新的 Linux 机器后,重要的是要准备好进行远程访问。 因此,必须在您尝试访问的远程服务器或机器上安装 open ssh。

在安装开放式 SSH 服务器之前,请运行以下命令来更新存储库。

apt-get update

等待操作完成。

更新存储库后,以 root 权限执行以下命令以安装开放的 SSH 服务器。

apt-get install openssh-server

当系统要求您确认时,请按键盘上的“y”并等待安装完成。 这可能需要几分钟才能完成。

配置 SSH 服务器设置

一旦在服务器端安装了 Open SSh,我们就可以编辑它的基本配置设置。 打开终端并以root权限执行以下命令。

nano /etc/ssh/sshd_config

以下是示例输出。

您可以更改上述文件中的各种参数。

默认情况下,SSH 侦听端口 22。您可以更改为所需的端口。 您还可以更改可以与服务器同时建立的最大会话数(MaxSessions),默认值为 10。

更改服务器的 SSH 端口

正如我们所讨论的,服务器默认侦听端口 22。 如果要将服务器配置为侦听特定端口,请按以下步骤操作。

打开终端并以root权限执行以下命令。

nano /etc/ssh/sshd_config

应该打开一个文件,如上面的屏幕截图所示。

找到端口 22 或 #Port 22 并键入所需的端口号,不带 # 号。

建议使用 1024 – 65535 之间的端口号,因为 0-1023 端口是为特定服务保留的。

假设分配2222,在SSH配置文件中写入如下内容。

Port 2222

以下是更改端口号后的示例输出。

通过在终端上执行以下命令重新启动 SSH 服务。

service ssh restart

在 SSH 服务器上启用 root 登录

默认情况下,出于安全原因,您无法直接使用root权限登录SSH服务器。 如果要启用此登录,则需要更改 SSH 服务器配置文件。

打开终端,以root权限运行以下命令打开配置文件。

nano /etc/ssh/sshd_config

在身份验证块中添加以下行,

PermitRootLogin 是

以下是在配置文件中进行更改后的示例输出。

允许SSH root登录

通过在具有 root 权限的终端上运行以下命令来重新启动 SSH 服务。

service ssh restart

减少对 SSH 服务器的失败登录尝试

默认情况下,您可以尝试登录 SSH 服务器 6 次。 一旦该值达到 6 的一半,就会记录额外的登录失败。 如果要更改此值,则必须调整 SSH 服务器配置文件中的 MaxAuthTries 参数。

打开终端并以root权限执行以下命令。

在 Authentication 块中添加以下行(假设您想将此值设置为 1)。

MaxAuthTries 1

以下是对文件进行更改后的示例输出。

配置最大身份验证重试次数

通过在具有 root 权限的终端上运行以下命令来重新启动 SSH 服务。

service ssh restart

下面是示例输出。

单次登录失败后,您将收到太多身份验证失败消息,如下面的屏幕截图所示。

强制 SSH 服务器侦听特定 IP

默认情况下,SSH 服务器侦听分配给 SSH 服务器的所有 IP。 但是,通过更改配置文件,您可以强制 SSH 服务器侦听特定 IP。 这是如何。

假设我有两个 IP 地址(10.1.1.2 和 10.1.1.3)分配给我的接口,如下面的屏幕截图所示。 我想强制我的服务器监听 IP 地址 10.1.1.2。

配置SSH服务器监听IP

打开终端并以root权限运行以下命令打开SSH配置文件。

nano /etc/ssh/sshd_config

在文件顶部添加以下行,

ListenAddress 10.1.1.2

以下是在配置文件中进行更改后的示例输出。

配置监听 IP 地址

通过在终端上执行以下命令重新启动 SSH 服务。

服务 ssh 重启

允许或拒绝特定用户或组登录 SSH 服务器

默认情况下,每个用户都可以远程登录SSH服务器。 但是,您可以允许或拒绝特定用户或组登录 SSH 服务器。

打开终端,以root权限运行以下命令,打开SSH服务器配置文件。

nano /etc/ssh/sshd_config

下面是示例输出。

编辑 SSHD 配置文件

假设您只想允许用户“tony”远程登录 SSH 服务器。 其他用户将无法登录到 SSH 服务器。 如果你有多个用户,他们应该用空格隔开。

在 SSH 服务器配置文件中添加以下行。

AllowUsers tony

下面是添加该行后的示例配置文件,

只允许特定用户连接到 SSH

通过在终端上以 root 权限运行以下命令来重新启动 SSH 服务,

service ssh restart

同样,如果您想允许所有用户远程连接到 SSH 服务器,但又想拒绝一个或多个,请在服务器配置文件中添加以下几行。 用户应由命令分隔。 假设我只想拒绝用户“tony”,请在服务器配置文件中添加以下行。

DenyUsers tony

以下是添加上述行后的示例配置文件。

拒绝用户

通过在终端上以 root 权限运行以下命令来重新启动 SSH 服务。

service ssh restart

同样,您可以通过在配置文件中添加以下几行来允许和拒绝用户组登录 SSH 服务器。

AllowGroups <groupname>

或者

DenyGroups <groupname>

如果您有多个要允许或拒绝的组,您可以用空格分隔它们。

允许和拒绝的组合按以下顺序处理。

DenyUsers、AllowUsers、DenyGroups,最后是 AllowGroups

更改登录宽限时间

默认情况下,您有 2 分钟的时间在 SSH 之后登录远程服务器。 如果在 2 分钟内无法登录远程服务器,SSH 将断开连接。 以下是更改登录宽限时间的方法。

打开终端并以root权限运行以下命令打开服务器配置文件。

nano /etc/ssh/sshd_config

下面是示例输出。

更改 SSH 登录宽限时间

找到以下行,

#LoginGraceTime 2m

将此行替换为您想要的宽限时间,例如 1 分钟。 完整的行应该是,

LoginGraceTime 1m

以下是更改后的示例配置文件。

配置登录宽限时间

关闭文件并通过发出 file 命令重新启动 SSH 服务。

service ssh restart

如何安装 OpenSSH 客户端

将要访问远程机器或服务器的 Debian 10 机器称为客户端,我们需要在其上安装“开放 SSH 客户端”。

打开终端并运行以下命令来更新存储库。

apt-get update

等待操作完成。

更新存储库后,立即执行以下命令以安装开放的 SSH 客户端。

apt-get install openssh-client

当系统要求您确认时,请按键盘上的 Y。 安装可能需要几分钟,因此请耐心等待。

在客户端和服务器上执行以下命令以确认 SSH 服务正在运行。

安装 OpenSSH 客户端

一旦我们在远程机器上的客户端和服务器上都运行了 SSH,我们就可以进行远程管理了。

使用 SSH 连接到远程 Debian 10 服务器

为了连接到远程 Debian 10 机器,您需要知道它的 IP 地址、用户名和密码。

如果您的 SSH 服务器正在侦听默认端口 22,则以下是该命令的完整语法。

ssh <[email protected]>

系统将提示您输入用户密码,在键盘的帮助下提供并点击 Enter.

假设用户是tony,远程机器IP地址是10.1.1.2。 在终端上运行以下命令。

ssh [email protected]

下面是示例输出。

通过 ssh 远程连接

您现在应该已安全连接,如上面的屏幕截图所示。

但是,如果您的 SSH 服务器正在侦听某个其他端口(假设为 2222)。 该命令的完整语法应如下所示。

ssh -p <端口号> [email protected] 地址

假设用户是tony,远程机器IP地址是10.1.1.2。 在终端上运行以下命令。

ssh -p 2222 [email protected]

SSH 连接

结论

这就是使用 SSH 远程管理 Linux 服务器的教程。 我希望你喜欢它。

如何使用 SSH 远程管理 Linux 服务器