Ssh

連接到 OS X 上的 EC2 實例的 ssh 超時問題

  • December 22, 2014

我是 AWS 新手,不是網路專家,但很想了解更多資訊。

我創建了一個僅具有公共子網的 VPC。然後我使用 Ubuntu 14.04 64 位 pv AMI 映像 (ami-e84d8480) 創建了一個 EC2 實例,並生成了通過 ssh 連接到它所需的密鑰對。

我按照亞馬遜的說明通過 ssh 連接到 EC2 實例,但它不起作用。

這是我嘗試的輸入和調試日誌:

在 OS X 10.9.4 上執行

user$ ssh -vvv -i key.pem ubuntu@xxx.xxx.xxx.xxx
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port 22.
debug1: connect to address xxx.xxx.xxx.xxx port 22: Operation timed out
ssh: connect to host xxx.xxx.xxx.xxx port 22: Operation timed out

要嘗試解決問題:

  1. 我啟用了 SSH 埠。
  2. 嘗試了 ubuntu 以外的其他使用者名,例如 ec2-user 和 root。
  3. 最初在安全組中設置了一個入站 ssh 規則,只連接到我的 ip 地址。當那不起作用時,我將其更改為允許任何 ip 連接。

但這些行動並沒有解決問題。

以下是我在讓 EC2 實例連接正常工作時缺少什麼的猜測。

  1. 我的 etc/ssh_config 文件可能會阻止連接發生。
  2. 在設置 VPC 時,我可能錯過了一個重要的網路細節。
  3. 我沒有為實例指定公共 IP 地址。我正在通過私有 IP 地址進行連接。

我對社區的問題:

  1. 我是否以錯誤的方式通過私有 IP 地址連接到實例?如果是這樣,我是否需要指定一個公共 IP 地址才能連接或其他方法?

在仔細閱讀 VPC 文件後,我的第一個 EC2 實例已連接。

這是我在設置 EC2 實例和 VPC 時遇到的問題。

只有一個私有 ip,我的開發機器永遠無法連接到 EC2 實例,除非它是 VPC 網路的一部分。因此,要從外部與它交談,我需要指定為每個創建的實例分配一個關聯的公共 IP 地址。

以下是修復它的方法:

  1. 如果我錯了,請糾正我,但看起來 EC2 瀏覽器控制台中沒有選項可以為已創建的實例分配公共 IP 地址,所以我最終刪除了它。
  2. 我想回到 VPC 控制台,然後轉到子網選項。然後,我選擇了最初在 VPC 嚮導中創建並在“修改自動分配公共 IP”選項中指定的公共子網,以便為每個創建的新 EC2 實例啟用公共 IP 地址的自動分配。
  3. 創建一個新的 EC2 實例,並分配一個新的公共 IP 地址。
  4. 按照亞馬遜的 ssh 指示,通信成功啟動。

引用自:https://serverfault.com/questions/623487