Первое, что я бы сказал, это то, что вы почти никогда не должны проходить S SH из лямбды в EC2. Существуют гораздо лучшие способы удаленного запуска сценариев в EC2, в том числе:
- SSM Run Manager
- Предоставление API для экземпляра EC2 и вызов этого API
Если вы действительно хотите это сделать, возможно, по какой-то академической причине c, то:
- сохраните пару ключей в Secrets Manager и дайте Lambda разрешение на ее чтение
- используйте пакет Python, такой как Fabri c или Paramiko
[Обновление: похоже, вы пытаетесь проверить, что доступ S SH заблокирован]
Лучший способ проверить группы безопасности - это использовать API-интерфейс EC2, описать экземпляр (ы), перечислить группы безопасности и их входящие правила. Если вы не доверяете этому подходу, то можете попробовать S SH к экземпляру, используя метод, который я предложил выше (хотя вам, вероятно, нужно только попытаться подключиться, чтобы тест был полезен).
Проблема, с которой вы столкнетесь, заключается в том, что группы безопасности потенциально могли быть настроены на блокировку всего доступа S SH (кстати, по умолчанию), за исключением одного IP-адреса «атакующего», который позволено. Ваша попытка подключения к Lambda S SH не удастся, поскольку она не поступает с одного IP-адреса «злоумышленника», но ваш лямбда-тест выдаст сообщение «Я не могу получить доступ к веб-серверу через S SH, тест прошел успешно». Это неверный тест.