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

SSH代表安全外壳,该协议用于安全访问本地网络或Internet上的远程服务器以进行配置,管理,监视,故障排除等。

本文介绍如何使用SSH管理远程Linux服务器。

我在Debian 10机器上运行了所有命令。

前提条件

您需要以下内容:

  1. 两台具有root特权的Debian 10机器。
  2. 远程计算机的IP地址,用户名和密码。
  3. 两台机器上的Internet连接。

如何安装开放式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或#端口22,然后输入所需的端口号(不带#号)。

我们建议您使用端口号从1024到65535,因为0到1023之间的端口是为特定服务保留的。

假设已分配2222,则将以下内容写入SSH配置文件。

Port 2222

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

更改SSH端口

在终端执行以下命令,重启SSH服务。

service ssh restart

在SSH服务器上启用root登录

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

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

nano /etc/ssh/sshd_config

将以下行添加到身份验证块:

PermitRootLoginYes

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

允许SSH root登录

通过在具有root用户特权的终端中运行以下命令来重新启动SSH服务:

service ssh restart

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

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

打开一个终端并以root特权执行以下命令。

将以下行添加到Authentication块(假设此值设置为1):

MaxAuthTries 1

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

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

通过在具有root用户特权的终端中运行以下命令来重新启动SSH服务:

service ssh restart

以下是输出示例。

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

如果单次登录失败,则身份验证失败消息太多,如以下屏幕截图所示。

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

使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 

DenyGroups 

如果允许或拒绝多个组,则可以使用空格将它们隔开。

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

DenyUsers,AllowUsers,DenyGroups,最后是AllowGroups

更改登录宽限时间

默认情况下,SSH之后登录到远程服务器需要2分钟。如果两分钟内无法登录到远程服务器,则SSH将断开连接。要更改您的登录宽限时间:

打开终端,并以超级用户身份运行以下命令以打开服务器配置文件:

nano /etc/ssh/sshd_config

以下是输出示例。

更改SSH登录宽限时间

找到以下行:

#LoginGraceTime 2m

将此行替换为所需的宽限时间(例如1分钟)。整行是

LoginGraceTime 1m

以下是修改后的样本配置文件。

配置登录宽限时间

关闭文件并发出文件命令以重新启动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服务器

Sidebar