使用適用於 Linux 的 Windows 子系統 (WSL),從 Windows 連線至 Linux 執行個體
啟動執行個體之後,您可以連接到此執行個體,並以一般使用電腦的方式使用。
下列指示說明如何在適用於 Linux 的 Windows 子系統 (WSL) 上使用 Linux 發行版本連線至執行個體。WSL 是免費下載的軟體,可讓您直接在 Windows 上執行原生 Linux 命令列工具與傳統 Windows 桌面,而不需要額外的虛擬機器。
安裝 WSL 後,您可以使用原生 Linux 環境來連接至 Linux EC2 執行個體,而不需要使用 PuTTY 或 PuTTYgen。Linux 環境可讓您輕鬆連接至 Linux 執行個體,因為此環境隨附一個原生 SSH 用戶端,可用來連接至 Linux 執行個體和變更 .pem 金鑰檔案的許可。Amazon EC2 主控台可提供 SSH 命令以連接至 Linux 執行個體,且您可以透過 SSH 命令取得詳細輸出來進行故障排解。如需詳細資訊,請參閱適用於 Linux 的 Windows 子系統文件
注意
安裝 WSL 後,所有先決條件和步驟都與使用 SSH 從 Linux 或 macOS 連線至 Linux 執行個體中所述的先決條件和步驟相同,而且其體驗就與使用原生 Linux 一樣。
如果您在嘗試連線至執行個體時遇到錯誤,請參閱 連線到執行個體的故障診斷。
先決條件
連線到您的 Linux 執行個體之前,請先完成下列先決條件。
- 確認執行個體已準備就緒
-
啟動執行個體之後,執行個體可能需要幾分鐘的時間準備就緒讓您連接。請確認您的執行個體已通過狀態檢查。您可以在 Instances (執行個體) 頁面的 Status check (狀態檢查) 欄檢視此資訊。
- 驗證連接到執行個體的一般先決條件
-
若要尋找執行個體的公有 DNS 名稱或 IP 地址,以及連接執行個體時應使用的使用者名稱,請參閱 取得執行個體的相關資訊。
- 在本機電腦安裝適用於 Linux 的 Windows 子系統 (WSL) 和 Linux 發行版本
-
使用 Windows 10 安裝指南
中的指示來安裝 WSL 和 Linux 發行版本。指示中的範例是安裝 Linux 的 Ubuntu 發行版本,但您可以安裝任何發行版本。您將會收到提示,要求您重新啟動電腦以讓變更生效。 - 將私有金鑰從 Windows 複製到 WSL
-
在 WSL 終端機視窗中,將 (啟動執行個體時所指定金鑰對的)
.pem
檔案從 Windows 複製到 WSL。請記下.pem
檔案在 WSL 上的完整路徑,以便於在連接至執行個體時使用。如需有關如何指定 Windows 硬碟路徑的資訊,請參閱如何存取 C 磁碟機?。如需有關金鑰對和 Windows 執行個體的詳細資訊,請參閱 Amazon EC2 金鑰對和 Windows 執行個體。 cp /mnt/
<Windows drive letter>/path/my-key-pair
.pem ~/WSL-path/my-key-pair
.pem
使用 WSL 連線至您的 Linux 執行個體
根據下列程序使用適用於 Linux 的 Windows 子系統 (WSL) 來連接至 Linux 執行個體。如果您在嘗試連線至執行個體時遇到錯誤,請參閱 連線到執行個體的故障診斷。
使用 SSH 連線到您的執行個體
-
在終端機視窗中,使用 ssh 命令來連接到執行個體。您指定私密金鑰 (
.pem
) 的路徑和檔案名稱、執行個體的使用者名稱,以及執行個體的公有 DNS 名稱或 IPv6 位址。如需如何尋找私密金鑰、您的執行個體的使用者名稱,以及執行個體 DNS 名稱或 IPv6 位址的詳細資訊,請參閱 找出私有金鑰並設定許可 和 取得執行個體的相關資訊。若要連線到您的執行個體,請執行下列其中一個命令。-
(公有 DNS) 若要使用執行個體的公有 DNS 名稱進行連線,請輸入下列命令。
ssh -i
/path/key-pair-name
.peminstance-user-name
@my-instance-public-dns-name
-
(IPv6) 或者,如果您的執行個體具有 IPv6 位址,則可以使用其 IPv6 位址連線到該執行個體。使用私有金鑰 (.pem) 檔案的路徑、適當的使用者名稱和 IPv6 地址來指定 ssh 命令。
ssh -i
/path/key-pair-name
.peminstance-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)?
-
-
(選用) 確認安全提醒中的指紋是否符合您在(選用) 取得執行個體指紋中取得的指紋。如果這些指紋不符合,可能有人嘗試發動中間人攻擊。如果它們符合,請繼續下一個步驟。
-
輸入
yes
。您會看到如下的回應:
Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) to the list of known hosts.
使用 SCP 將檔案從 Linux 傳輸到 Linux 執行個體
在本機電腦和 Linux 執行個體之間傳輸檔案的一種方式是使用安全複製通訊協定 (SCP)。本節說明如何使用 SCP 傳輸檔案。此程序類似使用 SSH 連線到執行個體的程序。
先決條件
-
確認將檔案傳輸到執行個體的一般先決條件。
在本機電腦和執行個體之間傳輸檔案前,請先執行以下動作,確保自己擁有所需的所有資訊。
-
安裝 SCP 用戶端
大部分的 Linux、Unix 和 Apple 電腦預設都包含 SCP 用戶端。如果您的電腦沒有 SCP 用戶端,OpenSSH 專案會提供 SSH 工具完整套件的免費實作,包括 SCP 用戶端。如需詳細資訊,請參閱 https://www.openssh.com
。
下列程序會逐步引導您使用 SCP 傳輸檔案。如已使用 SSH 連線到執行個體,並已確認其指紋,您可開始使用包含 SCP 命令的步驟 (步驟 4)。
使用 SCP 傳輸檔案
-
使用執行個體的公有 DNS 名稱將檔案傳輸到您的執行個體。例如,如果私有金鑰檔案的名稱為
key-pair-name
,要傳輸的檔案為SampleFile.txt
,使用者名稱為instance-user-name
,且執行個體的公有 DNS 名稱為my-instance-public-dns-name
,或 IPv6 位址為my-instance-IPv6-address
,請使用下列命令將檔案複製到instance-user-name
主目錄。-
(公有 DNS) 若要使用執行個體的公有 DNS 名稱傳輸檔案,請輸入下列命令。
scp -i
/path/key-pair-name
.pem/path/SampleFile.txt
instance-user-name
@my-instance-public-dns-name
:~
-
(IPv6) 或者,如果您的執行個體具有 IPv6 位址,則可以使用該執行個體的 IPv6 位址傳輸檔案。IPv6 位址必須用方括號 (
[ ]
) 括住,必須逸出 (\
)。scp -i
/path/key-pair-name
.pem/path/SampleFile.txt
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)?
-
-
(選用) 確認安全提醒中的指紋是否符合您在(選用) 取得執行個體指紋中取得的指紋。如果這些指紋不符合,可能有人嘗試發動中間人攻擊。如果它們符合,請繼續下一個步驟。
-
輸入
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
-
若要反向 (從 Amazon EC2 執行個體到本機電腦) 傳輸檔案,請反轉主機參數的順序。例如,若要將
SampleFile.txt
檔案以SampleFile2.txt
的形式,從 EC2 執行個體傳回到本機電腦的主目錄,請在本機電腦上使用下列其中一個命令。-
(公有 DNS) 若要使用執行個體的公有 DNS 名稱傳輸檔案,請輸入下列命令。
scp -i
/path/key-pair-name
.peminstance-user-name
@ec2-198-51-100-1.compute-1.amazonaws.com
:~/SampleFile.txt ~/SampleFile2.txt
-
(IPv6) 或者,如果您的執行個體具有 IPv6 位址,若要使用該執行個體的 IPv6 位址,向另一個方向傳輸檔案,請輸入下列命令。
scp -i
/path/key-pair-name
.peminstance-user-name
@\[2001:db8:1234:1a00:9691:9503:25ad:1761
\]:~/SampleFile.txt ~/SampleFile2.txt
-
解除安裝 WSL
如需有關解除安裝適用於 Linux 的 Windows 子系統的資訊,請參閱如何解除安裝 WSL 發行版本?