如果我在创建 ubuntu 服务器时没有安装 openssh,有人仍然可以通过 SSH 进入服务器吗?

如果我在创建 ubuntu 服务器时没有安装 openssh,有人仍然可以通过 SSH 进入服务器吗?

Ubuntu 服务器让我选择安装 openssh。如果我拒绝,我还需要做什么才能完全禁用服务器上的 SSH?

答案1

背景:

  1. OpenSSH 是使用 SSH 协议进行远程登录的首要连接工具,它加密所有流量以消除窃听。

  2. OpenSSH 服务器组件 sshd(ssh 守护进程)持续监听来自任何客户端工具的客户端连接。

对于您的具体问题:

  1. 据我所知,以及在 ubuntu 官方网站上读到的https://ubuntu.com/server/docs/service-openssh sshd 在 ubuntu 服务器上不是默认安装的。

  2. 要确保您没有安装 sshd,您可以运行此命令which sshd

  3. 此外,您可以检查不应找到的sshd配置的默认文件。/etc/ssh/sshd_config

  4. ssh您还可以通过运行命令来确保您的服务器没有监听端口netstat -tulpn4

    • 请注意,服务的默认端口sshd是 22。
    • 为了能够执行netstat命令,您必须安装该命令net-tools,可以通过以下方式安装sudo apt install net-tools
    • 执行的输出netstat -tulpn4 将采用以下格式:

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                  
tcp        0      0 0.0.0.0:1122            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:3333            0.0.0.0:*               LISTEN      -                   
udp        0      0 127.0.0.53:53           0.0.0.0:*                           -                   

  1. 为了避免 ssh 访问你的服务器,你可以:

    • 首先不要安装 sshd。

    • 通过此命令安装并禁用 sshd 服务systemctl disable sshd.service

此外:

  1. 还有一些服务可以启用与服务器的 shell 连接:

    • dropbear- 轻量级 SSH 服务器。
    • telnet- TELNET 协议的用户界面,telnet 命令用于使用 TELNET 协议与另一台主机进行交互式通信。
    • 如果您想确保您的服务器不会受到任何类型的连接的影响,建议检查这些服务是否被禁用或卸载。
    • 请注意,还可以找到配置解决方案来保护服务器的安全。
    • 最后,建议使用该netstat工具并检查服务器上所有开放的端口,以检测安全漏洞并了解服务器服务。

相关内容