在Linux系统中关闭SSH远程登录可以通过多种方法实现,以下是详细的步骤:
方法一:修改SSH配置文件
1.登录到Linux系统:
可以通过物理控制台或者已经存在的SSH会话登录到Linux系统。
2.打开SSH配置文件:
使用文本编辑器(如vi、nano等)打开SSH服务的配置文件`sshd_config`。这个文件通常位于`/etc/ssh/`目录下。
```bash
sudo vi /etc/ssh/sshd_config
```
3.修改配置文件:
找到并修改以下选项:
-`PermitRootLogin`:控制是否允许root用户通过SSH登录。为了关闭SSH远程登录,可以将这一行(如果存在)注释掉(在行首添加`#`)或者设置为`no`。
```bash
#PermitRootLogin yes
PermitRootLogin no
```
-`PasswordAuthentication`:控制是否允许基于密码的认证。为了增强安全性,并且如果打算完全关闭SSH远程登录,可以将此选项设置为`no`。但请注意,如果打算通过SSH密钥对进行无密码登录,则应该保持`PasswordAuthentication`为`yes`,并确保正确配置了密钥对。但既然目标是关闭SSH远程登录,这里将其设置为`no`。
```bash
PasswordAuthentication no
```
4.保存并退出编辑器:
在vi编辑器中,按`Esc`键,然后输入`:wq`保存修改并退出。
5.重启SSH服务:
修改完`sshd_config`文件后,需要重启SSH服务来使更改生效。重启SSH服务的命令取决于使用的Linux发行版及其服务管理系统(如Systemd、SysVinit等)。
使用Systemd(大多数现代Linux发行版):
```bash
sudo systemctl restart sshd
```
使用SysVinit(较老的Linux发行版):
```bash
sudo service ssh restart
```
方法二:禁用SSH服务
可以通过停止SSH服务来禁用远程登录。在终端中运行以下命令来停止SSH服务:
bash
sudo systemctl stop sshd
或者(对于使用SysVinit的系统):
bash
sudo service sshd stop
这样用户将无法通过SSH协议登录到系统。
方法三:修改防火墙规则
如果使用的是防火墙工具(如iptables或ufw),可以添加规则来阻止SSH连接。
例如,可以使用iptables命令添加INPUT链的规则,禁止SSH连接。具体命令可以参考防火墙工具的文档。
注意事项
在进行上述更改之前,请确保你有其他方式来访问和管理你的服务器,以免不慎锁定自己无法访问。
始终备份相关配置文件,以防止不必要的麻烦。
关闭SSH远程登录后,你将只能通过物理访问服务器或通过其他已经配置好的远程管理解决方案(如Web界面、VPN等)来管理服务器。
通过以上方法,你可以有效地关闭Linux系统上的SSH远程登录功能,从而提高系统的安全性。