我剛剛註冊了Amazon的新Elastic Beanstalk產品並非常喜歡它。我無法弄清楚的是如何SSH到一個Beanstalk實例。我沒有私鑰,因爲Beanstalk代表我創建實例。想法?SSH到Elastic Beanstalk實例
感謝, 諾
我剛剛註冊了Amazon的新Elastic Beanstalk產品並非常喜歡它。我無法弄清楚的是如何SSH到一個Beanstalk實例。我沒有私鑰,因爲Beanstalk代表我創建實例。想法?SSH到Elastic Beanstalk實例
感謝, 諾
我一直在玩這一點。
使咖啡5分鐘
在對同一區域的EC2標籤,你會看到你的新的運行實例。 ssh作爲ec2-user使用在3 中添加的密鑰的公共dns名稱,例如, ssh [email protected]
添加「ec2-user」部分是我的問題......這應該與上面的答案合併;)。 – 2013-06-14 13:00:36
我發現它是一個兩步過程。這假定您已經設置了一個密鑰對來訪問相關區域中的EC2實例。
elasticbeanstalk-default
安全組。編輯安全組以添加SSH訪問規則。以下將鎖定它以僅允許來自特定IP地址的入口。
SSH | tcp | 22 | 22 | 192.168.1.1/32
Existing Key Pair
字段中選擇密鑰對的名稱。實例重新啓動後,您需要從AWS Console EC2實例選項卡或通過API獲取主機名。然後您應該能夠SSH到服務器上。
$ ssh -i path/to/keypair.pub [email protected]
注意:添加一個密鑰對環境的配置,各實例的終止保護必須關閉的青苗會嘗試用密鑰對終止當前的情況下,開始新的實例。
注意:如果某些內容不起作用,請檢查Beanstalk應用程序/環境中的「Events」選項卡,並查明出了什麼問題。
這個答案比其他答案多出兩倍票數;技術嚴謹;並且非常清楚。它有什麼問題?爲什麼不被接受? – 2012-05-15 04:34:15
即使您按照上述說明操作,但如果您收到錯誤「Permission denied(publickey)」,以下內容可能會解釋原因:如果您的EB設置啓動多個EC2實例,則必須檢查其中哪些獲取了關聯對用它。您只能使用密鑰對SSH進入實例。您可以檢查EC2實例菜單中的屬性以找出結果。 – 2012-10-10 08:22:52
配置我的Beanstalk應用程序以包含來自EC2的密鑰對時,它表示「***對選項EC2KeyName設置的更改不會立即生效,您現有的每個EC2實例都將被替換,您的新設置將生效。 **「......但是,我沒有看到我的任何EC2實例已經改變......等了大約10分鐘。 EC2實例的狀態仍處於綠色運行信號。我已經多次刷新實例,但「密鑰對名稱」的值仍然爲空。等待大約10分鐘....我錯過了什麼? – 2013-02-23 19:31:58
EC2實例的「實例操作」菜單中有一個方便的「連接」選項。它將爲您提供確切的SSH命令,以使用正確的實例url進行執行。 Jabley的整體說明是正確的。
我在2013年8月與Linux客戶端和一個簡單的AWS魔豆安裝(單一EC2實例)的經驗如下(基於以上社區維基)
awsweb...
安全組,並且詳細信息應顯示在頁面底部好運
我以前也遇到過同樣的問題。我想使用密鑰文件,但亞馬遜說某處不能將密鑰文件添加到現有的EC2服務器。對於第一個Beanstalk應用程序,Amazon爲您預配置應用程序。您需要創建一個新的應用程序,並且可以將運行Beanstalk應用程序的EC2服務器配置爲使用舊的pem文件(如果使用Putty,則爲ppk),或者可以創建一個新文件。現在你應該可以通過SSH。
然後配置,然後再刪除舊的應用程序。
使用當前UI爲ElasticBeanstalk ec2實例設置密鑰對的方向爲: 警告:這將需要更新ElasticBeanstalk應用程序中的EC2實例。 注意:在此之前,您需要在EC2儀表板中創建一個密鑰對。
1)在AWS Dashboard中,選擇ElasticBeanstalk服務 2)選擇要使用的應用程序。 3)選擇'配置' 4)在'實例'配置框中選擇齒輪(設置)圖標。 5)這將帶您進入一個名爲「服務器」的頁面,您可以在其中使用所需的密鑰對更新'EC2密鑰對'下拉字段並選擇'保存'。
有一點需要注意的是,這可能不適用於具有多個實例的應用程序(但我相信這很可能如果它們全都在與密鑰對相同的區域中)。
Elastic beanstalk CLI v3現在支持直接SSH,命令爲eb ssh
。例如。
eb ssh your-environment-name
不需要設置找到EC2實例地址的安全組的麻煩。
還有這個酷技巧:
eb ssh --force
這會暫時強制端口22開放爲0.0.0.0,並保持開放,直到你exit
。這混合有點的最佳答案的好處,沒有麻煩。您可以臨時授予除您以外的其他人的調試權限和其他權限。當然,你仍然需要將他們的公鑰上傳到主機,以便他們有權訪問。一旦你這樣做(只要你在裏面eb ssh
),其他人可以
ssh [email protected]
如果使用彈性豆和EB CLI,只是用eb ssh
登錄到實例。您可以使用以下鏈接中指定的選項 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html
您需要使用其公有IP地址直接連接到ec2實例。您無法使用elasticbeanstalk網址進行連接。
您可以在ec2控制檯中查找實例IP地址。
您還需要確保端口22已打開。默認情況下,當ssh連接完成後,EB CLI關閉端口22。您可以調用eb ssh -o在ssh會話完成後保持端口打開狀態。
警告:您應該知道彈性beanstalk可以隨時替換您的實例。狀態不能保證你的任何彈性beanstalk實例。它可能更好地使用ssh進行測試和調試,因爲您修改的任何內容都可以隨時消失。
因此,一旦我終於登錄了,我該如何到達我推送我的git repo的文件夾? – Evolve 2013-12-03 10:24:52
好吧,如果你使用ELB CLI的新v3,你可以做'eb ssh` – 2014-11-22 12:39:54
看起來上面的答案有些過時。亞馬遜現在有一個很好的文檔來說明如何去做。按照上述有關如何創建密鑰對的建議。然後按照這個:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.ec2connect.html祝你好運! – 2014-01-22 07:08:48