使用 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. (可選) 驗證安全警報中的指紋是否與您之前在 (可選)獲取實例指紋 中獲得的指紋相匹配。如果這些指紋不匹配,則表示有人可能在試圖實施“中間人”攻擊。如果匹配,請繼續到下一步。

  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 Linux 變體(如經 Amazon ECS 優化的 AMI),使用以下命令安裝 scp

    
     
    [ec2-user ~]$ sudo yum install -y openssh-clients
  4. 要在另一個方向上傳輸文件(從 Amazon EC2 實例中傳輸到本地計算機),請顛倒主機參數的順序。例如,要將 SampleFile.txt 文件從 EC2 實例傳回到本地計算機上的主目錄並保存爲 SampleFile2.txt,請在本地計算機上使用以下命令。

    • (公有 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

https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章