Назад | Перейти на главную страницу

Получить SSH-порт экземпляра ec2

В моей компании есть экземпляр ec2, о котором я ничего не знал. Мой предшественник создал бы это и не предоставил никакой информации об этом.

Теперь вдруг что-то перестало работать, и в ходе расследования выяснилось, что php-fpm остановился на этом экземпляре. Теперь мне нужно войти в этот экземпляр и перезапустить службу. Проблема в том, что у меня нет файла .pem или порта ssh для этого сервера.

Для файла pem я создал AMI и запустил новый сервер из этого образа с новым файлом PEM. Теперь у меня есть pem-файл, но я не знаю порта ssh. Я перепробовал все порты по умолчанию и другие порты, которые используются в моей компании, но ничего не работает.

sh-3.2#ssh -i company_sydney.pem -p  22  ec2-user@xx.xx.xx.xx
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  ec2-user@xx.xx.xx.xx
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 или что-то еще, которые можно было бы использовать для этой цели. Есть ли какой-нибудь инструмент, который делает то же самое, что и мой небольшой сценарий оболочки.

Если у вас есть доступ к консоли AWS, войдите в EC2, проверьте, к какой группе безопасности принадлежит экземпляр, и проверьте все порты - предыдущий администратор мог пометить порт SSH.

Или используйте nmap для сканирования портов на вашем экземпляре.

nmap <IP_Address>

Если ICMP заблокирован, попробуйте

nmap -Pn <IP_Address>

Для получения дополнительных сведений о службах, работающих на обнаруженных портах, попробуйте

nmap -v -A <IP_Address>
nmap -v -A -Pn <IP_Address>

Следующая команда делает именно то, что я делаю со сценарием оболочки, но эта команда занимает слишком много времени.

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, который я искал.

Другие полезные команды nmap