簡體   English   中英

如何通過 SSH 隧道從筆記本電腦訪問 phpMyAdmin 通過 AWS 堡壘/跳轉服務器到 EC2 實例 using.ssh/config

[英]How to access phpMyAdmin from laptop via SSH tunnel through AWS bastion/jump server to EC2 instance using .ssh/config

需要從本地筆記本電腦到達堡壘/跳轉服務器后面的 EC2 實例上的 phpMyAdmin。

希望將這些步驟減少到 using.shh/config 中。 該問題旨在解決正確的配置。

在沒有公共堡壘服務器跳過的情況下連接到 EC2 時,這是記錄的正常方式,在我的情況下不起作用,因為我們的部署使用面向公眾的堡壘:

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

當您需要跳過面向公眾的堡壘時,例如:

本地/筆記本電腦 ------> 堡壘/跳轉服務器 -----> ec2

上述參考鏈接不遵循相同的工作流程,並且文檔很少。 為此功能設置入站/出站規則也很少。

首選是使用如下設置的 use.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

我顯然在上面的 <> 中遺漏了 vars - 但我有它們並且已經驗證了類似的配置正在用於使用 FileZilla 啟用 SFTP。

然后在 shell 調用這個來綁定端口 localhost:8888 ( http://127.0.0.1:8888 ):

ssh ec2Host -D 8888

然后應該可以打開瀏覽器和go到下面訪問phpMyAdmin:

http://127.0.0.1:8888/phpmyadmin

當前的問題是該進程掛起並且可能拒絕連接。 這表明上述配置錯誤或堡壘和 ec2 實例的入站/出站規則不正確。

這里有沒有人有類似的問題並且能夠解決並且可以進一步分享,非常感謝。 加上調試整個過程的任何額外線索將有助於答案。

如果您在命令行上指定所有內容,我很好奇它是否有效......一旦確定有效,您就可以開始重構以將某些方面放入.ssh/config 如果一切都在命令行上,我通常更容易發現我的配置錯誤,而且我不知道我在那里看到了正確的轉發選項。

除非我弄錯了,否則您不需要在 SSH 配置文件中對 ec2 主機進行任何引用,因為您使用跳轉機將本地主機流量重定向到那里,您將無法直接訪問 ec2 主機從您的本地機器使用 SSH 隧道。

有很多方法可以創建隧道,但是當我這樣做時,我會使用ssh -L 8080:destination:80 -i <keyfile> me@jumpbox的命令。 destination必須可以從jumpbox到達,我可以首先使用ssh -i <keyfile> jumpbox進行驗證,然后在該機器上使用ssh destination 如果一路上出現問題,調試這些小步驟會更容易(例如,如果我無法通過手動 ssh 連接到 jumpbox,那么我知道隧道將永遠無法工作)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM