如何使用SSH远程管理Linux服务器
SSH代表安全外壳,该协议用于安全访问本地网络或Internet上的远程服务器以进行配置,管理,监视,故障排除等。
本文介绍如何使用SSH管理远程Linux服务器。
我在Debian 10机器上运行了所有命令。
前提条件
您需要以下内容:
- 两台具有root特权的Debian 10机器。
- 远程计算机的IP地址,用户名和密码。
- 两台机器上的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服务。
service ssh restart
在SSH服务器上启用root登录
默认情况下,出于安全原因,您无法使用root用户特权直接登录SSH服务器。如果启用此登录,则必须更改SSH服务器配置文件。
打开终端,并以root权限运行以下命令以打开配置文件:
nano /etc/ssh/sshd_config
将以下行添加到身份验证块:
PermitRootLoginYes
以下是对配置文件进行更改后的示例输出。
通过在具有root用户特权的终端中运行以下命令来重新启动SSH服务:
service ssh restart
减少对SSH服务器的失败登录尝试
默认情况下,您可以尝试登录SSH服务器六次。该值达到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。
打开终端,并以root权限运行以下命令以打开SSH配置文件:
nano /etc/ssh/sshd_config
将以下行添加到文件的顶部:
ListenAddress 10.1.1.2
以下是对配置文件进行更改后的示例输出。
在终端执行以下命令,重启SSH服务。
服务SSH重新启动
允许或拒绝特定用户或组登录SSH服务器
默认情况下,所有用户都可以远程登录SSH服务器。但是,您可以允许或拒绝特定的用户或组登录SSH服务器。
打开终端,并以root用户权限运行以下命令以打开SSH服务器配置文件:
nano /etc/ssh/sshd_config
以下是输出示例。
假设您只允许“ tony”用户远程登录到SSH服务器。其他用户无法登录SSH服务器。如果您有多个用户,则必须用空格分隔。
将以下行添加到SSH服务器配置文件中:
AllowUsers tony
以下是添加各行之后的示例配置文件。
通过在具有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
以下是输出示例。
找到以下行:
#LoginGraceTime 2m
将此行替换为所需的宽限时间(例如1分钟)。整行是
LoginGraceTime 1m
以下是修改后的样本配置文件。
关闭文件并发出文件命令以重新启动SSH服务。
service ssh restart
如何安装OpenSSH客户端
访问远程机器或服务器的Debian 10机器称为客户端,并且需要安装“开放SSH客户端”。
打开终端并运行以下命令以更新存储库:
apt-get update
等待操作完成。
更新存储库后,请运行以下命令来安装开放的SSH客户端:
apt-get install openssh-client
当提示您确认时,请按键盘上的Y。安装可能需要几分钟,因此请耐心等待。
通过在客户端和服务器上运行以下命令来验证SSH服务正在运行。
在远程计算机上的客户端和服务器上都运行SSH之后,即可开始进行远程管理。
使用SSH连接到远程Debian 10服务器
要连接到远程Debian 10机器,您需要一个IP地址,用户名和密码。
SSH服务器在默认端口22上侦听时,命令的完整语法为:
ssh <[email protected]>
当提示您输入用户密码时,使用键盘输入密码,然后按Enter。
假设用户是tony,并且远程计算机的IP地址是10.1.1.2。在终端中执行以下命令。
ssh [email protected]
以下是输出示例。
如上面的屏幕快照所示,您的连接应该安全。
但是,如果SSH服务器正在侦听另一个端口(假设2222)。该命令的完整语法如下:
SSH -p
假设用户是tony,并且远程计算机的IP地址是10.1.1.2。在终端中执行以下命令。
ssh -p 2222 [email protected]
结论
这是有关使用SSH远程管理Linux服务器的教程。你喜欢吗?
如何使用SSH远程管理Linux服务器