天天看點

使用 SSH 連接配接到 Linux 執行個體

啟動您的執行個體之後,您可以連接配接到該執行個體,然後像使用您面前的計算機一樣來使用它。

以下說明介紹如何使用 SSH 用戶端連接配接到您的執行個體。如果您在嘗試連接配接到執行個體時收到錯誤,請參閱 排查執行個體的連接配接問題。有關更多連接配接選項,請參閱連接配接到您的 Linux 執行個體。

先決條件

在連接配接到 Linux 執行個體之前,請先完成以下先決條件:

驗證該執行個體是否就緒

啟動執行個體後,需要幾分鐘準備好執行個體,以便您能連接配接到執行個體。檢查您的執行個體是否通過了狀态檢查。您可以在執行個體頁面的狀态檢查列中檢視此資訊。

驗證有關連接配接到您的執行個體的正常先決條件

有關更多資訊,請參閱 連接配接到您的執行個體的正常先決條件。

根據需要在您的本地計算機上安裝 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 用戶端。如果您的計算機不含 SSH 用戶端,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. 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 Linux 變體(如經 Amazon ECS 優化的 AMI),使用以下指令安裝 scp: [ec2-user ~]$ sudo yum install -y openssh-clients
  3. 要在另一個方向上傳輸檔案(從 Amazon EC2 執行個體中傳輸到本地計算機),請颠倒主機參數的順序。例如,要将 SampleFile.txt 檔案從 EC2 執行個體傳回到本地計算機上的主目錄并儲存為 SampleFile2.txt,請在本地計算機上使用以下指令。
    • scp -i /path/my-key-pair.pem my-instance-user-name@my-instance-public-dns-name:~/SampleFile.txt ~/SampleFile2.txt
    • scp -i /path/my-key-pair.pem my-instance-user-name@\[my-instance-IPv6-address\]:~/SampleFile.txt ~/SampleFile2.txt