前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux系列】VNC安装ssh后,ssh无法登录

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

原创
作者头像
kwan的解忧杂货铺
修改2024-11-12 12:01:03
1010
修改2024-11-12 12:01:03

在开始今天的分享之前,我想先推荐一篇非常精彩的文章。

文章就是《渗透测试文件包含漏洞原理与验证(1)——文件包含概述》

链接是:点击这里

这篇文章详细解释了文件包含漏洞的原理,以及如何在实际的Web应用程序中发现和验证这类漏洞。它提到,文件包含漏洞通常发生在PHP等脚本语言中,当开发者在引入文件时没有对文件名进行充分的校验,就可能导致意外的文件泄露或恶意代码注入。

文章还介绍了几种PHP中的文件包含函数,包括include()include_once()require()require_once(),以及它们在找不到文件时的不同行为。此外,文章还探讨了利用文件包含漏洞的条件,比如函数通过动态变量引入文件,以及用户能够控制这个动态变量。

通过一些实际的示例,文章展示了如何通过修改文件扩展名来绕过某些安全限制,以及如何通过修改URL参数来实现文件包含攻击。

这篇文章不仅提供了丰富的技术细节,还强调了合法合规的重要性。它提醒我们,所有的渗透测试活动都应该在获得明确授权的情况下进行,并且要遵守相关法律法规。

如果你对Web安全感兴趣,或者想要提高你的Web应用程序的安全性,我强烈推荐你阅读这篇文章。它不仅能够提供实用的技术知识,还能帮助你更好地理解安全领域的法律和道德规范。让我们一起在合法合规的前提下,探索和提升Web安全吧!


一.修改 ssh 配置

在这里插入图片描述
在这里插入图片描述

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 及以上)没有被防火墙阻止。

二.重启 ssh 服务

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

1.保存配置文件

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

2.重启 SSH 服务

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

代码语言:bash
复制
sudo systemctl restart sshd

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

代码语言:bash
复制
sudo service ssh restart

或者:

代码语言:bash
复制
sudo /etc/init.d/ssh restart

3.检查 SSH 服务状态

在这里插入图片描述
在这里插入图片描述

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

代码语言:bash
复制
sudo systemctl status sshd

或者:

代码语言:bash
复制
sudo service ssh status

或者:

代码语言:bash
复制
sudo /etc/init.d/ssh status

4.检查配置文件语法

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

代码语言:bash
复制
sudo sshd -t

或者:

代码语言:bash
复制
sudo ssh -T -a localhost

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

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

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

代码语言:bash
复制
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 2222 -j ACCEPT

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

代码语言:bash
复制
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

6.重新尝试连接

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.修改 ssh 配置
  • 二.重启 ssh 服务
    • 1.保存配置文件
      • 2.重启 SSH 服务
        • 3.检查 SSH 服务状态
          • 4.检查配置文件语法
            • 5.确保防火墙允许 SSH 端口
              • 6.重新尝试连接
              相关产品与服务
              网站渗透测试
              网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档