標籤:inpu file 中間 關於 cut 公有 esc 磁碟機 結構
使用 PuTTY 從 Windows 串連到 Linux 執行個體
啟動您的執行個體之後,您可以串連到該執行個體,然後像使用您面前的電腦一樣來使用它。
注意
啟動執行個體後,需要幾分鐘準備好執行個體,以便您能串連到執行個體。檢查您的執行個體是否通過了狀態檢查 - 您可以在 Instances (執行個體) 頁上的 Status Checks (狀態檢查) 列中查看此資訊。
以下說明介紹如何使用 PuTTY (適用於 Windows 的免費 SSH 用戶端) 串連到您的執行個體。如果您在嘗試串連到您的執行個體時收到錯誤訊息,請參閱排查執行個體的串連問題。
先決條件
使用 PuTTY 串連到您的 Linux 執行個體之前,請先完成以下先決條件:
安裝 PuTTY
從 PuTTY 下載頁面下載並安裝 PuTTY。如果您安裝的是舊版本的 PuTTY,建議您下載最新版本。確保安裝整個套件。
獲得執行個體的 ID
您可以通過使用 Amazon EC2 控制台(位於 Instance ID (執行個體 ID) 列中)獲得您的執行個體的 ID。如果您願意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (適用於 Windows PowerShell 的 AWS 工具) 命令。
獲得執行個體的公有 DNS 名稱
您可以使用 Amazon EC2 控制台擷取執行個體的公有 DNS (選中 Public DNS (IPv4) 列;如果此列處於隱藏狀態,請選擇 Show/Hide 表徵圖並選擇 Public DNS (IPv4))。如果您願意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (適用於 Windows PowerShell 的 AWS 工具) 命令。
(僅限 IPv6) 擷取執行個體的 IPv6 地址
如果您已將 IPv6 地址分配給您的執行個體,則可選擇使用執行個體的 IPv6 地址而非公用 IPv4 地址或公用 IPv4 DNS 主機名稱來串連執行個體。您的本機電腦必須擁有 IPv6 地址,且必須配置為使用 IPv6。可使用 Amazon EC2 控制台 (選中 IPv6 IPs 欄位) 擷取執行個體的 IPv6 地址。如果您願意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (適用於 Windows PowerShell 的 AWS 工具) 命令。有關 IPv6 的更多資訊,請參閱IPv6 地址。
尋找私人密鑰
擷取您在啟動執行個體時指定的金鑰組的 .pem 檔案在您電腦上位置的完全限定路徑。
允許從您的 IP 位址到您的執行個體的入站 SSH 流量
確保與您的執行個體關聯的安全性群組允許來自您的 IP 位址的傳入 SSH 流量。預設情況下,預設安全性群組不允許傳入 SSH 流量。有關更多資訊,請參閱 為您的 Linux 執行個體授權入站流量。
使用 PuTTYgen 轉換您的私人密鑰
PuTTY 本身不支援 Amazon EC2 產生的私人密鑰格式 (.pem)。PuTTY 有一個名為 PuTTYgen 的工具,可將密鑰轉換成所需的 PuTTY 格式 (.ppk)。您必須將私人密鑰轉換為此格式 (.ppk),然後才能嘗試使用 PuTTY 串連到您的執行個體。
轉換您的私人密鑰
啟動 PuTTYgen (例如,在開始菜單中,選擇 All Programs > PuTTY > PuTTYgen)。
在 Type of key to generate 下,選擇 RSA。
如果您使用的是舊版本的 PuTTYgen,請選擇 SSH-2 RSA。
選擇 Load。預設情況下,PuTTYgen 僅顯示副檔名為 .ppk 的檔案。要找到您的 .pem 檔案,請選擇顯示所有類型的檔案的選項。
選擇您在啟動執行個體時指定的金鑰組的 .pem 檔案,然後選擇 Open。選擇 OK 關閉確認對話方塊。
選擇 Save private key,以 PuTTY 可以使用的格式儲存密鑰。PuTTYgen 顯示一條關於在沒有口令的情況下儲存密鑰的警告。選擇是。
注意
私人密鑰的口令是一層額外保護,因此,即使您的私人密鑰被泄露,在沒有口令的情況下,該密鑰仍不可用。使用口令的缺點是讓自動化變得更難,因為登入到執行個體或複製檔案到執行個體需要進行人為幹預。
為該密鑰指定與金鑰組相同的名稱 (如,my-key-pair)。PuTTY 自動添加 .ppk 副檔名。
您的私人密鑰格式現在是正確的 PuTTY 使用格式了。您現在可以使用 PuTTY 的 SSH 用戶端串連到執行個體。
啟動 PuTTY 會話
通過以下過程使用 PuTTY 串連到您的 Linux 執行個體。您需要使用為私人密鑰建立的 .ppk 檔案。如果您在嘗試串連到您的執行個體時收到錯誤訊息,請參閱排查執行個體的串連問題。
啟動 PuTTY 會話
(可選) 您可以在本地系統 (而不是執行個體) 上使用 get-console-output (AWS CLI) 命令驗證執行個體上的 RSA 密鑰指紋。如果您從第三方的公用 AMI 啟動了執行個體,則可能需要這樣做。找到 SSH HOST KEY FINGERPRINTS 部分,記下 RSA 指紋 (例如 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f) 並將它與執行個體的指紋進行比較。
Copyaws ec2 get-console-output --instance-id instance_id
以下是您應尋找的內容的樣本:
-----BEGIN SSH HOST KEY FINGERPRINTS----- ... 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f ... -----END SSH HOST KEY FINGERPRINTS-----
注意,SSH HOST KEY FINGERPRINTS 部分僅在執行個體初次開機之後可用。
啟動 PuTTY (在開始菜單中,選擇 All Programs > PuTTY > PuTTY)。
在 Category 窗格中,選擇 Session 並填寫以下欄位:
在 Host Name 框中,輸入 user_name@public_dns_name。確保為您的 AMI 指定相應的使用者名稱。例如:
對於 Amazon Linux AMI,使用者名稱為 ec2-user。
對於 RHEL AMI,使用者名稱稱是 ec2-user 或 root。
對於 Ubuntu AMI,使用者名稱稱是 ubuntu 或 root。
對於 Centos AMI,使用者名稱稱是 centos。
對於 Fedora AMI,使用者名稱稱是 ec2-user。
對於 SUSE,使用者名稱稱是 ec2-user 或 root。
另外,如果 ec2-user 和 root 無法使用,請與 AMI 供應商核實。
(僅限 IPv6) 要使用執行個體的 IPv6 地址串連,請輸入 user_name@ipv6_address。確保為您的 AMI 指定相應的使用者名稱。例如:
對於 Amazon Linux AMI,使用者名稱為 ec2-user。
對於 RHEL AMI,使用者名稱稱是 ec2-user 或 root。
對於 Ubuntu AMI,使用者名稱稱是 ubuntu 或 root。
對於 Centos AMI,使用者名稱稱是 centos。
對於 Fedora AMI,使用者名稱稱是 ec2-user。
對於 SUSE,使用者名稱稱是 ec2-user 或 root。
另外,如果 ec2-user 和 root 無法使用,請與 AMI 供應商核實。
在 Connection type 下,選擇 SSH。
確保 Port 為 22。
在 Category 窗格中,展開 Connection,再展開 SSH,然後選擇 Auth。完成以下操作:
選擇 Browse。
選擇您為金鑰組產生的 .ppk 檔案,然後選擇 Open。
(可選) 如果打算稍後重新啟動此會話,則可以儲存此會話資訊以便日後使用。在類別樹中選擇會話,在 Saved Sessions 中輸入會話名稱,然後選擇儲存。
選擇開啟以便開始 PuTTY 會話。
如果這是您第一次串連到此執行個體,PuTTY 會顯示安全警告對話方塊,詢問您是否信任您要串連到的主機。
(可選) 驗證安全警報對話方塊中的指紋是否與之前在步驟 1 中擷取的指紋匹配。如果這些指紋不匹配,則表示有人可能在試圖實施“中間人”攻擊。如果匹配,請繼續到下一步。
選擇是。此時會開啟一個視窗並且您串連到了您的執行個體。
注意
如果您在將私人密鑰轉換成 PuTTY 格式時指定了口令,當您登入到執行個體時,您必須提供該口令。
如果您在嘗試串連到您的執行個體時收到錯誤訊息,請參閱排查執行個體的串連問題。
使用 PuTTY 安全複製用戶端將檔案傳輸到您的 Linux 執行個體
PuTTY 安全複製用戶端 (PSCP) 是一個命令列工具,您可以用它在 Windows 電腦與 Linux 執行個體之間傳輸檔案。如果您更喜歡圖形化使用者介面 (GUI),您可以使用一種叫作“WinSCP”的開源 GUI 工具。有關更多資訊,請參閱 使用 WinSCP 將檔案傳輸到您的 Linux 執行個體。
要使用 PSCP,您需要使用在使用 PuTTYgen 轉換您的私人密鑰中產生的私人密鑰。您還需要使用 Linux 執行個體的公有 DNS 地址。
以下樣本將檔案 Sample_file.txt 從 Windows 電腦上的 C:\ 磁碟機傳輸到 Amazon Linux 執行個體上的 ec2-user 主目錄:
Copy
pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt [email protected]public_dns:/home/ec2-user/Sample_file.txt
(僅限 IPv6) 以下樣本使用執行個體的 IPv6 地址傳輸檔案 Sample_file.txt。IPv6 地址必須以方括弧 ([]) 括起。
Copy
pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt [email protected][ipv6-address]:/home/ec2-user/Sample_file.txt
使用 WinSCP 將檔案傳輸到您的 Linux 執行個體
WinSCP 是適用於 Windows 的基於 GUI 的檔案管理工具,您可以通過它來使用 SFTP、SCP、FTP 和 FTPS 協議將檔案上傳並傳輸到遠端電腦。通過 WinSCP,您可以將 Windows 電腦中的檔案拖放到 Linux 執行個體或同步這兩個系統之間的所有目錄結構。
要使用 WinSCP,您需要使用在使用 PuTTYgen 轉換您的私人密鑰中產生的私人密鑰。您還需要使用 Linux 執行個體的公有 DNS 地址。
從 http://winscp.net/eng/download.php 上下載並安裝 WinSCP。對於大多數使用者而言,採用預設安裝選項就可以了。
啟動 WinSCP。
在 WinSCP 登入螢幕中,對於 Host name,請輸入執行個體的公有 DNS 主機名稱或公有 IPv4 地址。
(僅限 IPv6) 要使用執行個體的 IPv6 地址登入,請輸入執行個體的 IPv6 地址。
對於 User name (使用者名稱),請輸入預設的 AMI 使用者名稱。對於 Amazon Linux AMI,使用者名稱是 ec2-user。對於 Red Hat AMI,使用者名稱是 root,而對於 Ubuntu AMI,使用者名稱則是 ubuntu。
為您的執行個體指定私人密鑰。對於 Private key,請輸入私人密鑰的路徑,或選擇“...”按鈕以瀏覽檔案。對於更新版本的 WinSCP,您需要選擇 Advanced 以開啟進階網站設定,然後在 SSH 下選擇 Authentication 以尋找 Private key file 設定。
以下是 WinSCP 版本 5.9.4 中的螢幕:
WinSCP 需要 PuTTY 私人密鑰檔案 (.ppk)。您可以使用 PuTTYgen 將 .pem 安全密鑰檔案轉換成 .ppk 格式。有關更多資訊,請參閱 使用 PuTTYgen 轉換您的私人密鑰。
(可選) 在左側面板中,選擇 Directories,然後對於 Remote directory,請輸入要將檔案添加到其中的目錄路徑。對於更新版本的 WinSCP,您需要選擇 Advanced 以開啟進階網站設定,然後在 Environment 下選擇 Directories 以尋找 Remote directory 設定。
選擇 Login 進行串連,然後選擇 Yes,將主機指紋添加到主機緩衝。
建立串連後,在串連視窗中,您的 Linux 執行個體顯示在右側,本機電腦顯示在左側。您可以直接將檔案從本機電腦拖放到遠程檔案系統。有關 WinSCP 的更多資訊,請參閱 http://winscp.net/eng/docs/start 中的項目文檔。
如果您收到一個“Cannot execute SCP to start transfer”(無法執行 SCP 以開始傳輸) 錯誤,必須先在 Linux 執行個體上安裝 scp。對於某些作業系統,此命令會位於 openssh-clients 程式包中。對於 Amazon Linux 變體 (如經 Amazon ECS 最佳化的 AMI),使用以下命令安裝 scp.
Copy[ec2-user ~]$ sudo yum install -y openssh-clients
AWS之SSH登入:使用 PuTTY 從 Windows 串連到 Linux 執行個體