使用 SSH 連線至您的 Linux 執行個體 - Amazon Elastic Compute Cloud

使用 SSH 連線至您的 Linux 執行個體

啟動執行個體之後,您可以連接到此執行個體,並以一般使用電腦的方式使用。

下列指示會說明如何使用 SSH 用戶端連線至您的執行個體。如果您在嘗試連線至執行個體時遇到錯誤,請參閱 故障診斷連接至您的執行個體。如需更多連接選項,請參閱連接至您的 Linux 執行個體

必要條件

連線到您的 Linux 執行個體之前,請先完成下列先決條件。

確認執行個體已準備就緒

啟動執行個體之後,執行個體可能需要幾分鐘的時間準備就緒讓您連接。請確認您的執行個體已通過狀態檢查。您可以在 Instances (執行個體) 頁面的 Status Checks (狀態檢查) 欄檢視此資訊。

驗證連接到執行個體的一般先決條件

若要尋找執行個體的公用 DNS 名稱或 IP 位址,以及連接執行個體時應使用的使用者名稱,請參閱 連接至執行個體的一般先決條件

視需要在本機電腦安裝 SSH 用戶端

您的本機電腦可能已預設安裝 SSH 用戶端。您可以透過在命令列輸入 ssh 來進行驗證。若您的電腦無法識別該命令,您可以安裝 SSH 用戶端。

  • Windows Server 2019 和 Windows 10 的最新版本 - 已隨附 OpenSSH 並做為可安裝的元件提供。如需相關資訊,請參閱 Windows 中的 OpenSSH

  • 舊版 Windows - 下載並安裝 OpenSSH。如需詳細資訊,請參閱 Win32-OpenSSH

  • Linux 和 macOS X - 下載並安裝 OpenSSH。如需詳細資訊,請參閱 http://www.openssh.com

使用 SSH 用戶端連接至 Linux 執行個體

請使用下列程序使用 SSH 用戶端連線至您的 Linux 執行個體。如果您在嘗試連線至執行個體時遇到錯誤,請參閱 故障診斷連接至您的執行個體

使用 SSH 連線到您的執行個體

  1. 在終端機視窗中,使用 ssh 命令來連接到執行個體。您指定私密金鑰 (.pem) 的路徑和檔案名稱、執行個體的使用者名稱,以及執行個體的公有 DNS 名稱或 IPv6 位址。如需如何尋找私密金鑰、您的執行個體的使用者名稱,以及執行個體 DNS 名稱或 IPv6 位址的詳細資訊,請參閱 找出私有金鑰取得執行個體的相關資訊。若要連線到您的執行個體,請執行下列其中一個命令。

    • (公有 DNS) 若要使用執行個體的公有 DNS 名稱進行連線,請輸入下列命令。

      ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-public-dns-name
    • (IPv6) 或者,如果您的執行個體具有 IPv6 位址,若要使用執行個體的 IPv6 位址進行連線,請輸入下列命令。

      ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-IPv6-address

    您會看到如下的回應:

    The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (198-51-100-1)' can't be established.
    ECDSA key fingerprint is l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY.
    Are you sure you want to continue connecting (yes/no)?
  2. (選用) 確認安全提醒中的指紋是否符合您在(選用) 取得執行個體指紋中取得的指紋。如果這些指紋不符合,可能有人嘗試發動中間人攻擊。如果它們符合,請繼續下一個步驟。

  3. 輸入 yes

    您會看到如下的回應:

    Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (ECDSA) to the list of known hosts.

使用 SCP 將檔案從 Linux 傳輸到 Linux 執行個體

在本機電腦和 Linux 執行個體之間傳輸檔案的一種方式是使用安全複製通訊協定 (SCP)。本節說明如何使用 SCP 傳輸檔案。此程序類似使用 SSH 連線到執行個體的程序。

先決條件

  • 驗證將檔案傳輸到執行個體的一般先決條件。

    將檔案傳輸到執行個體的一般先決條件與連接到執行個體的一般先決條件相同。如需更多詳細資訊,請參閱 連接至執行個體的一般先決條件

  • 安裝 SCP 用戶端

    大部分的 Linux、Unix 和 Apple 電腦預設都包含 SCP 用戶端。如果您的電腦沒有 SCP 用戶端,OpenSSH 專案會提供 SSH 工具完整套件的免費實作,包括 SCP 用戶端。如需詳細資訊,請參閱 http://www.openssh.org

下列程序會逐步引導您使用 SCP 傳輸檔案。如已使用 SSH 連線到執行個體,並已確認其指紋,您可開始使用包含 SCP 命令的步驟 (步驟 4)。

使用 SCP 傳輸檔案

  1. 使用執行個體的公有 DNS 名稱或使用 IPv6 位址 (如果您的執行個體有的話) 將檔案傳輸到您的執行個體。例如,如果您的私有金鑰檔案的名稱為 my-key-pair,要傳輸的檔案為 SampleFile.txt,您的執行個體的使用者名稱為 my-instance-user-name,且執行個體的公有 DNS 名稱為 my-instance-public-dns-name,或執行個體的 IPv6 位址為 my-instance-IPv6-address,請使用下列命令將檔案複製到 my-instance-user-name 主目錄。

    • (公有 DNS) 若要使用執行個體的公有 DNS 名稱傳輸檔案到您的執行個體,請輸入下列命令。

      scp -i /path/my-key-pair.pem /path/SampleFile.txt my-instance-user-name@my-instance-public-dns-name:~
    • (IPv6) 或者,如果您的執行個體具有 IPv6 位址,若要使用執行個體的 IPv6 位址傳輸檔案,請輸入下列命令。IPv6 位址必須用方括號 ([ ]) 括住,必須逸出 (\)。

      scp -i /path/my-key-pair.pem /path/SampleFile.txt my-instance-user-name@\[my-instance-IPv6-address\]:~

    您會看到如下的回應:

    The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)'
    can't be established.
    RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
    Are you sure you want to continue connecting (yes/no)?
  2. (選用) 確認安全提醒中的指紋是否符合您在(選用) 取得執行個體指紋中取得的指紋。如果這些指紋不符合,可能有人嘗試發動中間人攻擊。如果它們符合,請繼續下一個步驟。

  3. 輸入 yes

    您會看到如下的回應:

    Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
    to the list of known hosts.
    Sending file modes: C0644 20 SampleFile.txt
    Sink: C0644 20 SampleFile.txt
    SampleFile.txt                                100%   20     0.0KB/s   00:00

    如果您收到 "bash: scp: command not found" (bash: scp: 找不到命令) 錯誤,必須先在您的 Linux 執行個體上安裝 scp。此項目在某些作業系統中位於 openssh-clients 套件中。針對 Amazon ECS 最佳化的 AMI 等 Amazon Linux 變體,請使用下列命令來安裝 scp

    [ec2-user ~]$ sudo yum install -y openssh-clients
  4. 若要反向 (從 Amazon EC2 執行個體到本機電腦) 傳輸檔案,請反轉主機參數的順序。例如,若要將 SampleFile.txt 檔案以 SampleFile2.txt 的形式,從 EC2 執行個體傳回到本機電腦的主目錄,請在本機電腦上使用下列命令。

    • (公有 DNS) 若要使用執行個體的公有 DNS 名稱傳輸檔案到您的執行個體,請輸入下列命令。

      scp -i /path/my-key-pair.pem my-instance-user-name@my-instance-public-dns-name:~/SampleFile.txt ~/SampleFile2.txt
    • (IPv6) 或者,如果您的執行個體具有 IPv6 位址,若要使用執行個體的 IPv6 位址傳輸檔案,請輸入下列命令。IPv6 位址必須用方括號 ([ ]) 括住,必須逸出 (\)。

      scp -i /path/my-key-pair.pem my-instance-user-name@\[my-instance-IPv6-address\]:~/SampleFile.txt ~/SampleFile2.txt