本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 EC2 執行個體上安裝 EC2 Instance Connect
若要使用 EC2 Instance Connect 連線至 Linux 執行個體,則該執行個體必須安裝 EC2 Instance Connect。安裝 EC2 Instance Connect 會在執行個體上設定 SSH 常駐程式。
如需 EC2 Instance Connect 套件的詳細資訊,請參閱 GitHub 網站上的aws/aws-ec2-instance-connect-config
注意
如果您對 SSH 身分驗證設定 AuthorizedKeysCommand
和 AuthorizedKeysCommandUser
,則 EC2 Instance Connect 安裝不會進行更新。因此,您無法使用 EC2 Instance Connect。
安裝先決條件
在安裝 EC2 Instance Connect 之前,請確定您符合下列先決條件。
-
確認執行個體使用下列其中一項:
-
Amazon Linux 2 在 2.0.20190618 之前的版本
-
AL2023 最小 AMI 或 Amazon ECS 最佳化 AMI
-
CentOS Stream 8 和 9
-
14.2.1 之前的 macOS Sonoma、13.6.3 之前的 Ventura,以及 12.7.2 之前的 Monterey
-
Red Hat Enterprise Linux (RHEL) 8 和 9
-
Ubuntu 16.04 和 18.04
提示
如果您使用較新版本的 Amazon Linux、macOS Sonoma、macOS Ventura、macOS Monterey 或 Ubuntu 啟動執行個體,則會預先安裝 EC2 Instance Connect,因此您無需自行安裝。
-
-
驗證 EC2 Instance Connect 的一般先決條件。
如需詳細資訊,請參閱EC2 Instance Connect 的先決條件。
-
確認在本機電腦上使用 SSH 用戶端連線至執行個體的先決條件。
如需詳細資訊,請參閱使用 SSH 連線至您的 Linux 執行個體。
-
取得執行個體的 ID。
您可以使用 Amazon EC2 主控台取得執行個體的 ID (從執行個體 ID 資料欄中)。如果您願意的話,可以使用 describe-instances
(AWS CLI) 或 Get-EC2Instance (AWS Tools for Windows PowerShell) 命令。
手動安裝 EC2 Instance Connect
注意
如果您使用下列其中一個 AMI 啟動執行個體,則會預先安裝 EC2 Instance Connect,您可以略過此程序:
-
AL2023 標準 AMI
-
Amazon Linux 2 2.0.20190618 或更新版本
-
macOS Sonoma 14.2.1 或更新版本
-
macOS Ventura 13.6.3 或更新版本
-
macOS Monterey 12.7.2 或更新版本
-
Ubuntu 20.04 或更新版本
根據執行個體的作業系統,使用以下其中一種程序來安裝 EC2 Instance Connect。
- Amazon Linux 2
-
若要在使用 Amazon Linux 2 啟動的執行個體上安裝 EC2 Instance Connect
-
使用 SSH 連接至您的執行個體。
將以下命令中的範例值取代為您自己的值。使用在您啟動執行個體時指派至該執行個體的 SSH 金鑰對與您在啟動執行個體所用的 AMI 預設使用者名稱。Amazon Linux 2 的預設使用者名稱為
ec2-user
。$
ssh -imy_ec2_private_key
.pemec2-user
@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
如需連線至執行個體的詳細資訊,請參閱使用 SSH 用戶端連接至 Linux 執行個體。
-
在執行個體上安裝 EC2 Instance Connect 套件。
[ec2-user ~]$
sudo yum install ec2-instance-connect您應會在
/opt/aws/bin/
資料夾中看到三個新指令碼:eic_curl_authorized_keys eic_parse_authorized_keys eic_run_authorized_keys
-
(選用) 確認 EC2 Instance Connect 是否已順利安裝在您的執行個體上。
[ec2-user ~]$
sudo less /etc/ssh/sshd_config如果
AuthorizedKeysCommand
和AuthorizedKeysCommandUser
行包含以下值,則 EC2 Instance Connect 的安裝已順利完成:AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
-
AuthorizedKeysCommand
會設定eic_run_authorized_keys
指令碼來從執行個體中繼資料查閱金鑰 -
AuthorizedKeysCommandUser
會將系統使用者設為ec2-instance-connect
注意
如果您先前已設定
AuthorizedKeysCommand
和AuthorizedKeysCommandUser
,EC2 Instance Connect 安裝不會變更這些值且您將無法使用 EC2 Instance Connect。 -
-
- CentOS
-
若要在使用 CentOS 啟動的執行個體上安裝 EC2 Instance Connect
-
使用 SSH 連接至您的執行個體。
將以下命令中的範例值取代為您自己的值。使用在您啟動執行個體時指派至該執行個體的 SSH 金鑰對與您在啟動執行個體所用的 AMI 預設使用者名稱。若使用 CentOS,使用者名稱預設為
centos
或ec2-user
。$
ssh -imy_ec2_private_key
.pemcentos
@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
如需連線至執行個體的詳細資訊,請參閱使用 SSH 用戶端連接至 Linux 執行個體。
-
如果您使用 HTTP 或 HTTPS 代理伺服器,則必須在目前的 Shell 工作階段中設定
http_proxy
或https_proxy
環境變數。如果您不使用代理伺服器,則可以略過此步驟。
-
若使用 HTTP 代理伺服器,請執行下列命令:
$
export http_proxy=http://hostname:port$
export https_proxy=http://hostname:port -
若使用 HTTPS 代理伺服器,請執行下列命令:
$
export http_proxy=https://hostname:port$
export https_proxy=https://hostname:port
-
-
執行下列命令,在執行個體上安裝 EC2 Instance Connect 套件。
適用於 CentOS 的 EC2 執行個體 Connect 組態檔案是以 Red Hat Package Manager (RPM) 套件提供,搭配以下項目適用的不同 RPM 套件:CentOS 8 和 CentOS 9,以及在 Intel /AMD (x86_64) 或 ARM (AArch64) 上執行的執行個體類型。
為您的作業系統和 CPU 架構使用命令區塊。
-
CentOS 8
Intel/AMD (x86_64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rhel8.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rhel8.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm -
CentOS 9
Intel/AMD (x86_64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
您應會在
/opt/aws/bin/
資料夾中看到以下新指令碼:eic_run_authorized_keys
-
-
(選用) 確認 EC2 Instance Connect 是否已順利安裝在您的執行個體上。
-
CentOS 8:
[ec2-user ~]$
sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf -
CentOS 9:
[ec2-user ~]$
sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf
如果
AuthorizedKeysCommand
和AuthorizedKeysCommandUser
行包含以下值,則 EC2 Instance Connect 的安裝已順利完成:AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
-
AuthorizedKeysCommand
會設定eic_run_authorized_keys
指令碼來從執行個體中繼資料查閱金鑰 -
AuthorizedKeysCommandUser
會將系統使用者設為ec2-instance-connect
注意
如果您先前已設定
AuthorizedKeysCommand
和AuthorizedKeysCommandUser
,EC2 Instance Connect 安裝不會變更這些值且您將無法使用 EC2 Instance Connect。 -
-
- macOS
-
若要在使用 macOS 啟動的執行個體上安裝 EC2 Instance Connect
-
使用 SSH 連接至您的執行個體。
將以下命令中的範例值取代為您自己的值。使用在您啟動執行個體時指派至該執行個體的 SSH 金鑰對與您在啟動執行個體所用的 AMI 預設使用者名稱。macOS 執行個體的預設使用者名稱為
ec2-user
。$
ssh -imy_ec2_private_key
.pemec2-user
@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
如需連線至執行個體的詳細資訊,請參閱使用 SSH 用戶端連接至 Linux 執行個體。
-
使用以下命令更新 Homebrew。更新將列出 Homebrew 已知的軟體。EC2 Instance Connect 套件透過 macOS 執行個體上的 Homebrew 提供。如需詳細資訊,請參閱 更新 Mac 執行個體上的作業系統和軟體。
[ec2-user ~]$
brew update -
在執行個體上安裝 EC2 Instance Connect 套件。這會安裝軟體,並設定 sshd 以使用該軟體。
[ec2-user ~]$
brew install ec2-instance-connect您應會在
/opt/aws/bin/
資料夾中看到以下新指令碼:eic_run_authorized_keys
-
(選用) 確認 EC2 Instance Connect 是否已順利安裝在您的執行個體上。
[ec2-user ~]$
sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf如果
AuthorizedKeysCommand
和AuthorizedKeysCommandUser
行包含以下值,則 EC2 Instance Connect 的安裝已順利完成:AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
-
AuthorizedKeysCommand
會設定eic_run_authorized_keys
指令碼來從執行個體中繼資料查閱金鑰 -
AuthorizedKeysCommandUser
會將系統使用者設為ec2-instance-connect
注意
如果您先前已設定
AuthorizedKeysCommand
和AuthorizedKeysCommandUser
,EC2 Instance Connect 安裝不會變更這些值且您將無法使用 EC2 Instance Connect。 -
-
- RHEL
-
若要在使用 Red Hat Enterprise Linux (RHEL) 啟動的執行個體上安裝 EC2 Instance Connect
-
使用 SSH 連接至您的執行個體。
將以下命令中的範例值取代為您自己的值。使用在您啟動執行個體時指派至該執行個體的 SSH 金鑰對與您在啟動執行個體所用的 AMI 預設使用者名稱。RHEL 的預設使用者名稱為
ec2-user
或root
。$
ssh -imy_ec2_private_key
.pemec2-user
@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
如需連線至執行個體的詳細資訊,請參閱使用 SSH 用戶端連接至 Linux 執行個體。
-
如果您使用 HTTP 或 HTTPS 代理伺服器,則必須在目前的 Shell 工作階段中設定
http_proxy
或https_proxy
環境變數。如果您不使用代理伺服器,則可以略過此步驟。
-
若使用 HTTP 代理伺服器,請執行下列命令:
$
export http_proxy=http://hostname:port$
export https_proxy=http://hostname:port -
若使用 HTTPS 代理伺服器,請執行下列命令:
$
export http_proxy=https://hostname:port$
export https_proxy=https://hostname:port
-
-
執行下列命令,在執行個體上安裝 EC2 Instance Connect 套件。
適用於 RHEL 的 EC2 執行個體 Connect 組態檔案是以 Red Hat Package Manager (RPM) 套件提供,搭配以下項目適用的不同 RPM 套件:RHEL 8 和 RHEL 9,以及在 Intel /AMD (x86_64) 或 ARM (AArch64) 上執行的執行個體類型。
為您的作業系統和 CPU 架構使用命令區塊。
-
RHEL 8
Intel/AMD (x86_64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rhel8.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rhel8.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm -
RHEL 9
Intel/AMD (x86_64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
您應會在
/opt/aws/bin/
資料夾中看到以下新指令碼:eic_run_authorized_keys
-
-
(選用) 確認 EC2 Instance Connect 是否已順利安裝在您的執行個體上。
-
針對 RHEL 8:
[ec2-user ~]$
sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf -
針對 RHEL 9:
[ec2-user ~]$
sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf
如果
AuthorizedKeysCommand
和AuthorizedKeysCommandUser
行包含以下值,則 EC2 Instance Connect 的安裝已順利完成:AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
-
AuthorizedKeysCommand
會設定eic_run_authorized_keys
指令碼來從執行個體中繼資料查閱金鑰 -
AuthorizedKeysCommandUser
會將系統使用者設為ec2-instance-connect
注意
如果您先前已設定
AuthorizedKeysCommand
和AuthorizedKeysCommandUser
,EC2 Instance Connect 安裝不會變更這些值且您將無法使用 EC2 Instance Connect。 -
-
- Ubuntu
-
若要在使用 Ubuntu 16.04 或更新版本啟動的執行個體上安裝 EC2 Instance Connect
-
使用 SSH 連接至您的執行個體。
將以下命令中的範例值取代為您自己的值。使用在您啟動執行個體時指派至該執行個體的 SSH 金鑰對並使用您在啟動執行個體所用的 AMI 預設使用者名稱。若為 Ubuntu AMI,使用者名稱為
ubuntu
。$
ssh -imy_ec2_private_key
.pemubuntu
@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
如需連線至執行個體的詳細資訊,請參閱使用 SSH 用戶端連接至 Linux 執行個體。
-
(選用) 請確認您的執行個體具有最新的 Ubuntu AMI。
執行下列命令以更新您的執行個體上的所有套件。
ubuntu:~$
sudo apt-get updateubuntu:~$
sudo apt-get upgrade -
在執行個體上安裝 EC2 Instance Connect 套件。
ubuntu:~$
sudo apt-get install ec2-instance-connect您應會在
/usr/share/ec2-instance-connect/
資料夾中看到三個新指令碼:eic_curl_authorized_keys eic_parse_authorized_keys eic_run_authorized_keys
-
(選用) 確認 EC2 Instance Connect 是否已順利安裝在您的執行個體上。
ubuntu:~$
sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf如果
AuthorizedKeysCommand
和AuthorizedKeysCommandUser
行包含以下值,則 EC2 Instance Connect 的安裝已順利完成:AuthorizedKeysCommand /usr/share/ec2-instance-connect/eic_run_authorized_keys %%u %%f AuthorizedKeysCommandUser ec2-instance-connect
-
AuthorizedKeysCommand
會設定eic_run_authorized_keys
指令碼來從執行個體中繼資料查閱金鑰 -
AuthorizedKeysCommandUser
會將系統使用者設為ec2-instance-connect
注意
如果您先前已設定
AuthorizedKeysCommand
和AuthorizedKeysCommandUser
,EC2 Instance Connect 安裝不會變更這些值且您將無法使用 EC2 Instance Connect。 -
-