一.修改 ssh 配置

【Linux系列】VNC安装ssh后,ssh无法登录-LMLPHP

VNC 服务器不能使用 SSH 22 端口登录的问题可能由多种原因引起,以下是一些可能的原因和解决方案:

  1. SSH 服务未开启或配置异常:如果 SSH 服务(sshd)未开启或配置文件(通常是/etc/ssh/sshd_config)权限被修改,可能会导致无法通过 SSH 22 端口登录。你可以通过 VNC 登录到服务器,检查sshd进程是否正常运行,并检查配置文件权限。

  2. SSH 服务未设置开机自启动:如果 SSH 服务未设置为开机自启动,重启实例后 SSH 服务可能不会自动启动,导致无法通过 SSH 远程连接。可以通过 VNC 登录实例,然后检查并设置 SSH 服务开机自启动。

  3. 安全组规则限制:如果你的服务器在云平台上,可能需要检查安全组规则,确保允许 SSH(22 端口)的入站规则已经设置。如果没有正确设置,SSH 连接会被阻止。

  4. 防火墙设置:服务器上的防火墙可能阻止了 SSH 端口。需要检查防火墙状态,并确保 SSH 端口(22)是开放的。

  5. SSH 配置文件错误:检查/etc/ssh/sshd_config文件,确保 PermitRootLogin 和 PasswordAuthentication 等参数设置正确。例如,将PermitRootLogin no修改为PermitRootLogin yes,将PasswordAuthentication no修改为PasswordAuthentication yes

  6. SELinux 设置:如果 SELinux 设置为 enforcing 模式,可能会阻止 SSH 服务。可以尝试将 SELinux 设置为 disabled 或 permissive 模式。

  7. VNC 配置问题:如果 VNC 配置不正确,也可能导致无法通过 SSH 连接。需要检查 VNC 配置文件,确保 VNC 服务正确启动,并且端口(通常是 5901 及以上)没有被防火墙阻止。
    【Linux系列】VNC安装ssh后,ssh无法登录-LMLPHP

二.重启 ssh 服务

修改 SSH 配置文件/etc/ssh/sshd_config后,要使配置生效,你需要执行以下步骤:

1.保存配置文件

确保你已经保存了对sshd_config文件所做的更改。如果你使用的是命令行编辑器(如vinano),请确保保存并退出编辑器。

2.重启 SSH 服务

为了让新的配置生效,你需要重启 SSH 服务。这可以通过以下命令完成:

sudo systemctl restart sshd

或者,如果你的系统使用的是较旧的 init 系统,可以使用:

sudo service ssh restart

或者:

sudo /etc/init.d/ssh restart

3.检查 SSH 服务状态

【Linux系列】VNC安装ssh后,ssh无法登录-LMLPHP

重启 SSH 服务后,你可以检查服务的状态以确保它正在运行:

sudo systemctl status sshd

或者:

sudo service ssh status

或者:

sudo /etc/init.d/ssh status

4.检查配置文件语法

在重启 SSH 服务之前,建议检查sshd_config文件的语法是否正确,以避免因配置错误导致 SSH 服务启动失败。可以使用以下命令:

sudo sshd -t

或者:

sudo ssh -T -a localhost

这些命令会检查sshd_config文件的语法,并报告任何错误。

5.确保防火墙允许 SSH 端口

如果你更改了 SSH 的默认端口(从 22 改为其他端口),确保防火墙规则允许新的端口。如果你使用的是iptables,可以使用以下命令允许新的端口(假设新端口为 2222):

sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 2222 -j ACCEPT

如果你使用的是firewalld,可以使用以下命令:

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

6.重新尝试连接

在完成上述步骤后,尝试重新通过 SSH 连接到服务器,以验证配置更改是否生效。

11-12 11:36