nmap 没有显示 sshd?

nmap 没有显示 sshd?

我想打开 ssh 终端,但它在端口 22 上拒绝连接。我的 nmap 没有列出端口 22?我如何连接到我的服务器?

 PORT     STATE    SERVICE
 21/tcp   open     ftp
 25/tcp   open     smtp
 80/tcp   open     http
 4000/tcp filtered remoteanything
 4001/tcp filtered newoak
 4002/tcp filtered mlchat-proxy

这是我从 hackertarget.com 进行的端口扫描:

 PORT     STATE  SERVICE      VERSION
 21/tcp   open   ftp          ProFTPD 1.3.1
 22/tcp   closed ssh
 25/tcp   open   smtp         Postfix smtpd
 80/tcp   open   http         lighttpd 1.4.29
 110/tcp  closed pop3
 139/tcp  closed netbios-ssn
 143/tcp  closed imap
 443/tcp  closed https
 445/tcp  closed microsoft-ds
 1433/tcp closed ms-sql-s
 3306/tcp closed mysql
 8080/tcp closed http-proxy

怎么才能关闭sshd呢?

答案1

如果你的连接被拒绝,并且Nmap显示端口被关闭,那么你就无法连接。如果您有其他方式(物理终端、虚拟控制台等)进行访问,您可以使用以下命令确认 SSH 守护进程是否正在运行(有些命令可能在您的系统上不可用):

ps -f -C sshd
ps aux | grep sshd
sudo netstat -ptan | grep sshd
service ssh status

如果它没有运行,您需要启动它。执行此操作的常见方法是:

service ssh start
invoke-rc.d ssh start
/etc/init.d/ssh start
/usr/sbin/sshd

所有这些命令都需要 root 权限(例如 sudo)。

如果守护进程正在运行,但您仍然无法连接,则可能是网络设备或主机的 iptables 防火墙阻止了连接。您可以使用 来查看自己的规则iptables -L,但如果您使用防火墙管理器(UFW 在 Ubuntu 上很流行),则这些表可能很难阅读,您应该检查您正在使用的工具的用户界面(ufw status例如 ) 。网络设备不太可能阻止它,因为您的 Nmap 输出显示了一些已过滤(防火墙)的端口,而 22/tcp 不在其中。

最后,还有一些防御工具和脚本(例如失败2禁止和其他),可以阻止违反策略的地址(例如太多失败的登录尝试),因此您可能需要检查日志中是否有类似的情况。

答案2

您可以使用以下命令远程检查 ssh 服务器的状态nmap

 $ nmap -v -nn serverip 22

如果它显示 ssh 服务器已关闭,那么您必须获得对 ssh 服务器的本地访问权限并执行如下命令:

 $ /etc/init.d/ssh status

如果此显示 ssh 服务已关闭,那么您必须通过以下方式启动它

 $ sudo /etc/init.d/ssh start

或者

 $ service ssh start

相关内容