使用 SSH 從 Linux 或 macOS 連線至 Linux 執行個體
您可以使用 Secure Shell (SSH) 從執行 Linux 或 macOS 作業系統的本機電腦連線至 Linux 執行個體,也可以使用 EC2 Instance Connect、AWS Systems Manager 工作階段管理員或 AWS CloudShell 等平台獨立連線工具進行連線。如需有關平台獨立工具的詳細資訊,請參閱 連接至您的 Linux 執行個體
本頁旨在說明如何透過 SSH 用戶端連線至執行個體。若要從 Windows 連線至 Linux 執行個體,請參閱 從 Windows 進行連線
注意
如果您在嘗試連線至執行個體時收到錯誤訊息,請確認執行個體符合所有 SSH 連線先決條件。如果其符合所有先決條件,但您仍然無法連線至 Linux 執行個體,請參閱 連線到執行個體的故障診斷。
SSH 連線先決條件
連線到您的 Linux 執行個體之前,請先完成下列先決條件。
- 檢查您的執行個體狀態
-
啟動執行個體之後,執行個體可能需要幾分鐘的時間準備就緒讓您連接。請確認您的執行個體已通過狀態檢查。您可以在 Instances (執行個體) 頁面的 Status check (狀態檢查) 欄檢視此資訊。
- 取得公有 DNS 名稱和使用者名稱,以連線到執行個體
-
若要尋找執行個體的公有 DNS 名稱或 IP 地址,以及連接執行個體時應使用的使用者名稱,請參閱 取得執行個體的相關資訊。
- 找出私有金鑰並設定許可
-
若要找出連線到執行個體所需的私有金鑰,並設定金鑰許可,請參閱 找出私有金鑰並設定許可。
- 視需要在本機電腦安裝 SSH 用戶端
-
您的本機電腦可能已預設安裝 SSH 用戶端。您可以透過在命令列輸入 ssh 來進行驗證。若您的電腦無法識別該命令,您可以安裝 SSH 用戶端。
-
Windows Server 2019 和 Windows 10 的最新版本 - 已隨附 OpenSSH 並做為可安裝的元件提供。如需詳細資訊,請參閱 Windows 中的 OpenSSH
。 -
舊版 Windows - 下載並安裝 OpenSSH。如需詳細資訊,請參閱 Win32-OpenSSH
。 -
Linux 和 macOS X - 下載並安裝 OpenSSH。如需詳細資訊,請參閱 https://www.openssh.com
。
-
使用 SSH 用戶端連接至 Linux 執行個體
請使用下列程序使用 SSH 用戶端連線至您的 Linux 執行個體。如果您在嘗試連線至執行個體時遇到錯誤,請參閱 連線到執行個體的故障診斷。
使用 SSH 連接至您的執行個體
-
在終端機視窗中,使用 ssh 命令來連接到執行個體。您指定私密金鑰 (
.pem
) 的路徑和檔案名稱、執行個體的使用者名稱,以及執行個體的公有 DNS 名稱或 IPv6 位址。如需如何尋找私密金鑰、您的執行個體的使用者名稱,以及執行個體 DNS 名稱或 IPv6 位址的詳細資訊,請參閱 找出私有金鑰並設定許可 和 取得執行個體的相關資訊。若要連線到您的執行個體,請執行下列其中一個命令。-
(公有 DNS) 若要使用執行個體的公有 DNS 名稱進行連線,請輸入下列命令。
ssh -i
/path/key-pair-name
.peminstance-user-name
@instance-public-dns-name
-
(IPv6) 或者,如果您的執行個體具有 IPv6 位址,若要使用執行個體的 IPv6 位址進行連線,請輸入下列命令。
ssh -i
/path/key-pair-name
.peminstance-user-name
@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)?
-
-
(選用) 確認安全提醒中的指紋是否符合您在(選用) 取得執行個體指紋中取得的指紋。如果這些指紋不符合,可能有人嘗試發動中間人攻擊。如果它們符合,請繼續下一個步驟。
-
輸入
yes
。您會看到如下的回應:
Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (ECDSA) to the list of known hosts.
使用 SCP 用戶端將檔案傳輸至 Linux 執行個體
在本機電腦和 Linux 執行個體之間傳輸檔案的一種方式是使用安全複製通訊協定 (SCP)。本節說明如何使用 SCP 傳輸檔案。此程序類似使用 SSH 連線到執行個體的程序。
先決條件
-
確認將檔案傳輸到執行個體的一般先決條件。
在本機電腦和執行個體之間傳輸檔案前,請先執行以下動作,確保自己擁有所需的所有資訊。
-
安裝 SCP 用戶端
大部分的 Linux、Unix 和 Apple 電腦預設都包含 SCP 用戶端。如果您的電腦沒有 SCP 用戶端,OpenSSH 專案會提供 SSH 工具完整套件的免費實作,包括 SCP 用戶端。如需詳細資訊,請參閱 https://www.openssh.com
。
下列程序會逐步引導您使用 SCP 使用執行個體的公有 DNS 名稱傳輸檔案,或是使用 IPv6 地址 (如果執行個體具備的話) 傳輸檔案。
使用 SCP 在電腦和執行個體之間傳輸檔案
-
決定來源檔案在電腦上的位置,以及執行個體上的目的地路徑。在下列範例中,私有金鑰檔案的名稱為
key-pair-name.pem
,要傳輸的檔案為my-file.txt
,執行個體的使用者名稱為 ec2-user,執行個體的公有 DNS 名稱為instance-public-dns-name
,而執行個體的 IPv6 地址為instance-IPv6-address
。-
(公用 DNS) 若要將檔案傳輸到執行個體上的目的地,請從您的電腦輸入下列命令。
scp -i
/path/key-pair-name
.pem/path/my-file.txt
ec2-user
@instance-public-dns-name
:path/
-
(IPv6) 若要將檔案傳輸到執行個體上的目的地 (如果執行個體具有 IPv6 地址),請從您的電腦輸入下列命令。IPv6 位址必須用方括號 (
[ ]
) 括住,必須逸出 (\
)。scp -i
/path/key-pair-name
.pem/path/my-file.txt
ec2-user
@\[instance-IPv6-address
\]:path/
-
-
如果您尚未使用 SSH 連接到執行個體,則會看到如下所示的回應:
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)?
(選用) 您可以選用驗證安全性警示中的指紋是否符合執行個體指紋。如需更多詳細資訊,請參閱 (選用) 取得執行個體指紋。
輸入
yes
。 -
如果傳輸成功,則回應會和下列內容相似:
Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) to the list of known hosts. my-file.txt 100% 480 24.4KB/s 00:00
-
若要反向 (從 Amazon EC2 執行個體到您的電腦) 傳輸檔案,請反轉主機參數的順序。例如:您可以從 EC2 執行個體傳輸
my-file.txt
到本機電腦上的目的地my-file2.txt
,如下列範例所示。-
(公用 DNS) 若要將檔案傳輸到電腦上的目的地,請從您的電腦輸入下列命令。
scp -i
/path/key-pair-name
.pemec2-user
@instance-public-dns-name
:path/my-file.txt path/my-file2.txt
-
(IPv6) 如果執行個體具有 IPv6 地址,欲將檔案傳輸到電腦上的目的地,請從您的電腦輸入下列命令。IPv6 位址必須用方括號 (
[ ]
) 括住,必須逸出 (\
)。scp -i
/path/key-pair-name
.pemec2-user
@\[instance-IPv6-address
\]:path/my-file.txt path/my-file2.txt
-