Как получить доступ к phpMyAdmin с ноутбука через туннель S SH через сервер AWS бастион / переход к экземпляру EC2, используя .ssh / config - PullRequest
0 голосов
/ 11 апреля 2020

Требуется обратиться к phpMyAdmin на экземпляре EC2 за бастионным / Jumpserver от локального ноутбука.

Нужно сократить эти шаги до использования .shh / config. Вопрос состоит в том, чтобы решить правильные конфигурации.

При подключении к EC2 без бастионного сервера publi c это обычный документированный способ, который не работает в моем случае, потому что наше развертывание использует publi c лицевой бастион:

https://docs.bitnami.com/aws/faq/get-started/access-phpmyadmin/

Когда вам нужно прыгнуть через публичный c лицевой бастион, например:

Local / Laptop ------> bastion / jumpserver -----> ec2

Ссылка, указанная выше, не соответствует тому же рабочему процессу, и документация редкая. Настройка правил входящих / исходящих сообщений для этой возможности также невелика.

Предпочтение отдается использованию .ssh / config, который настроен следующим образом:

Host bastionHostTunnel
Hostname <publicBastionIp>
User <bastionusername>
ForwardAgent yes
IdentityFile <local path to .pem file>

Host ec2Host
Hostname <privateEC2IP>
User <ec2 username>
ForwardAgent yes
IdentityFile <local path to .pem file>
# -A Enable forwarding of the Authentication agent connection
# -W used on older machines instead of -J to bounce through
# %h the remote hostname
# On Windows 10(only?) seems must call ssh.exe instead of only ssh 
ProxyCommand ssh.exe -A -W %h:22 bastionHostTunnel

Я явно пропустил переменные в < > выше - но у меня они есть и я проверил, что аналогичная конфигурация работает для включения SFTP, как указано выше с FileZilla.

Затем в оболочке вызовите это для привязки порта localhost: 8888 (http://127.0.0.1: 8888 ):

ssh ec2Host -D 8888

Затем должна быть возможность открыть браузер и go для доступа к phpMyAdmin:

http://127.0.0.1:8888/phpmyadmin

Текущая проблема заключается в том, что этот процесс зависает и, возможно, отказываясь от соединения. Это указывает либо на неверную конфигурацию, указанную выше, либо на неверные правила входящих / исходящих сообщений для / и бастиона, и для экземпляра ec2.

Кто-нибудь здесь сталкивался с подобной проблемой и мог ее решить и мог поделиться дальше, высоко ценится. Плюс любые дополнительные подсказки, касающиеся отладки всего процесса, помогут в ответе.

1 Ответ

0 голосов
/ 12 апреля 2020

Мне очень любопытно, работает ли он, если указать c все в командной строке ... как только вы определите, что это работает, вы можете начать рефакторинг, чтобы поместить некоторые аспекты в .ssh/config. Мне обычно легче находить ошибки с моей конфигурацией, если все в командной строке, плюс я не знаю, вижу ли я все правильные параметры пересылки, перечисленные там.

Если я не очень ошибаюсь, вы вам не нужна ссылка на хост ec2 в вашем конфигурационном файле S SH, потому что вы используете перемычку для перенаправления туда локального трафика c, вы не сможете напрямую связаться с хостом ec2 с вашего локальный компьютер, использующий туннель S SH.

Есть много способов сделать туннель, но когда я делаю это, я использую команду типа ssh -L 8080:destination:80 -i <keyfile> me@jumpbox. destination должен быть доступен с jumpbox, что я могу проверить, сначала используя ssh -i <keyfile> jumpbox, а затем один раз на этом компьютере ssh destination. Если на этом пути есть проблема, легче отладить эти маленькие шаги (например, если я не могу подключиться вручную с помощью s sh к jumpbox, то я знаю, что туннель никогда не будет работать).

...