Ubuntu 服务器让我选择安装 openssh。如果我拒绝,我还需要做什么才能完全禁用服务器上的 SSH?
答案1
背景:
OpenSSH 是使用 SSH 协议进行远程登录的首要连接工具,它加密所有流量以消除窃听。
OpenSSH 服务器组件 sshd(ssh 守护进程)持续监听来自任何客户端工具的客户端连接。
对于您的具体问题:
据我所知,以及在 ubuntu 官方网站上读到的https://ubuntu.com/server/docs/service-openssh sshd 在 ubuntu 服务器上不是默认安装的。
要确保您没有安装 sshd,您可以运行此命令
which sshd
。此外,您可以检查不应找到的
sshd
配置的默认文件。/etc/ssh/sshd_config
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:* -
为了避免 ssh 访问你的服务器,你可以:
首先不要安装 sshd。
通过此命令安装并禁用 sshd 服务
systemctl disable sshd.service
此外:
还有一些服务可以启用与服务器的 shell 连接:
dropbear
- 轻量级 SSH 服务器。telnet
- TELNET 协议的用户界面,telnet 命令用于使用 TELNET 协议与另一台主机进行交互式通信。- 如果您想确保您的服务器不会受到任何类型的连接的影响,建议检查这些服务是否被禁用或卸载。
- 请注意,还可以找到配置解决方案来保护服务器的安全。
- 最后,建议使用该
netstat
工具并检查服务器上所有开放的端口,以检测安全漏洞并了解服务器服务。