#amazon-web-services #ssh
#amazon-web-services #ssh
Вопрос:
В связи со стремительным ростом конфигурации AWS с несколькими учетными записями и отказом от ssh в пользу session manager мне нужна функциональность ssh и многопрофильная ProxyCommand.
Из aws docs это достаточно просто. Но теперь я вижу способ добавить дополнительные аргументы для указания профиля. Все, о чем я могу думать, это, по сути, объединение профиля с идентификатором экземпляра и создание выделенных команд.
Вопрос: Как я могу поддерживать несколько профилей с помощью aws ssm, когда proxycommand, похоже, не предлагает мне дополнительных аргументов?
Пример, который я хотел бы: ssh ec2-user@i-18274659f843 --profile dev
Поскольку i-*
не указано, какой профиль учетной записи использовать
Комментарии:
1. В чем ваш вопрос? Что вы пытаетесь сделать и с какой проблемой сталкиваетесь?
Ответ №1:
Предполагая, что вы используете приведенный ниже пример в своем ssh/config
, вы можете просто определить переменную среды AWS_PROFILE перед подключением к нужному экземпляру
host i-* mi-*
ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
терминал:
$ export AWS_PROFILE=bernard
$ ssh i-12345
Комментарии:
1. Это может сработать. Я попробую — я вижу логику. Вы пробовали это? Вы знаете, что это работает?
Ответ №2:
Вам не нужно экспортировать. Вы можете использовать это следующим образом: AWS_PROFILE=bernard ssh ubuntu@i-xxxx
Значение AWS_PROFILE
будет действительным только для этой команды и избавит вас от последующих проблем с командами AWS, т.Е. для других профилей.
Таким же образом вы можете задать регион: AWS_REGION=us-east-1 AWS_PROFILE=bernard ssh ubuntu@i-xxxx