找出非标准 ssh 端口

找出非标准 ssh 端口

我的服务器配置为使用其他端口而不是 22 来进行 ssh。我如何才能知道端口号是多少?

答案1

假设您无法访问命令行(否则您已经知道端口号了),您可以进行端口扫描以尝试识别 SSH 服务正在哪个端口上运行。我建议运行 nmap。但不能保证它能找到它。

答案2

运行nmap -sV <hostname/ip>- 即具有服务检测功能的 nmap,这意味着它可以找出实际在监听端口的内容,而不是根据正在使用的端口猜测服务。

这将给你类似这样的输出:

PORT STATE SERVICE VERSION

666/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu4 (protocol 2.0)

如果仍然找不到端口,请运行nmap -p- -sV <hostname/IP>- 这将扫描所有 65k 端口 - 它比较慢,但如果它在较高端口上运行,它会找到它。

答案3

如果你有命令行访问权限,并且有读取权限/etc/ssh/sshd_config, 跑步

grep Port /etc/ssh/sshd_config

答案4

这里的两个答案(配置文件上的 nmap 和 grep)都很好。不过,为了完成 - 如果您确实可以访问上述“命令行”,我会使用这个:

ss -ltp 

这应该会为您提供所有监听端口(及其各自的应用程序名称)(有时您可能有一个用于 ssh 的自定义 dropbear - 或者只是另一个不一定使用 /etc/ssh/sshd_config 的自定义解决方案)祝您“linuxing”愉快!:)

最后,您可以使用grep它来过滤您想要的信息:

ss -ltp | grep ssh

虽然你需要知道 openssh 并不是唯一提供 ssh 服务的应用程序(实际上我使用补充mosh应用程序来实现一些我认为比 ssh 更好的功能:)...)

相关内容