在我的公司,我们有一个 ec2 实例,但我对此一无所知。我的前任应该已经创建了它,但没有提供任何相关信息。
现在突然有东西停止工作了,经过调查,发现该实例上的 php-fpm 已停止。现在我必须登录该实例并重新启动服务。问题是我没有该服务器的 .pem 文件或 ssh 端口。
对于 pem 文件,我创建了一个 AMI,并使用新的 PEM 文件从该映像启动了一个新的服务器。现在我得到了 pem 文件,但我不知道 ssh 端口。我尝试了公司使用的所有默认端口和其他端口,但都不起作用。
sh-3.2#ssh -i company_sydney.pem -p 22 [email protected]
ssh: connect to host xx.xx.xx.xx port 22: Connection refused
现在我想找到该服务器的 ssh 开放端口。我尝试搜索任何此类实用程序,但没有成功。
这是我针对查找 ssh 端口问题采取的强力方法
for i in {1..65535}
do
ssh -i company_sydney.pem -p $i [email protected]
done
还有其他方法可以完成此操作吗,或者是否有任何可用的此类实用程序。
编辑 我的问题不是关于丢失 PEM 文件,我确实有这个文件。我正在寻找端口搜索方面的工具和帮助。
nmap 的输出
sh-3.2$ nmap xx.xx.xx.xx
Starting Nmap 7.50 ( https://nmap.org ) at 2018-12-12 12:59 IST
Stats: 0:02:47 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Connect Scan Timing: About 48.85% done; ETC: 13:04 (0:02:55 remaining)
Nmap scan report for ec2-xx-xx-xx-xxx.ap-southeast-2.compute.amazonaws.com (xx.xx.xx.xx)
Host is up (0.34s latency).
Not shown: 571 closed ports, 426 filtered ports
PORT STATE SERVICE
21/tcp open ftp
53/tcp open domain
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 532.29 seconds
安全组详细信息:
端口 21 不是 SSH 端口
编辑2 我使用暴力方法找到了 ssh 端口。但我仍然好奇 Nmap 之类的工具或其他工具是否可以用于此目的。是否有任何工具可以执行与我的小 shell 脚本相同的操作。
答案1
如果您有权访问 AWS 控制台,请进入 EC2 检查该实例属于哪个安全组并检查所有端口 - 之前的管理员可能已经标记了 SSH 端口。
或者使用 nmap 扫描实例上的端口。
nmap <IP_Address>
如果 ICMP 被阻止,请尝试
nmap -Pn <IP_Address>
有关在发现的端口上运行的服务的更多详细信息,请尝试
nmap -v -A <IP_Address>
nmap -v -A -Pn <IP_Address>
答案2
以下命令完全按照我使用 shell 脚本所做的事情进行操作,但是该命令耗时太长。
nmap -p 1-65535 <IP ADDESS>
以下命令的输出
Nmap scan report for ec2-xx-xx-xx-xxx.ap-southeast-2.compute.amazonaws.com (xx.xx.xx.xx)
Host is up (0.22s latency).
Not shown: 62854 closed ports, 1678 filtered ports
PORT STATE SERVICE
21/tcp open ftp
53/tcp open domain
80/tcp open http
22777/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 11840.36 seconds
其他答案中给出的命令没有提供我正在寻找的 22777 端口。