如果我在创建 ubuntu 服务器时没有安装 openssh,其他人还能通过 SSH 连接到服务器吗?

ang*_*ver 1 ssh openssh

Ubuntu 服务器给了我安装 openssh 的选项。如果我拒绝这一点,我还需要做什么才能从我的服务器完全禁用 SSH?

Cra*_*Tux 5

背景:

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

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

对于你的具体问题:

  1. 据我所知并在 ubuntu 官方网站https://ubuntu.com/server/docs/service-openssh上阅读 ,默认情况下 ubuntu 服务器上不提供 sshd。

  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:*                           -                   

Run Code Online (Sandbox Code Playgroud)
  1. 为了避免 ssh 访问您的服务器,您可以:

    • 首先不要安装 sshd。

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

此外:

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

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