很多朋友想要在亚马逊云科技EC2控制台中使用EC2 Instance Connect连接到实例,首先就要在亚马逊云科技EC2上安装EC2 Instance Connect。那么,要怎么操作呢?本文,小编就带大家一起来看一下!
点击进入:www.amazonaws.cn
安装EC2 Instance Connect的先决条件
1、使用以下支持的AMI之一启动实例:
- 版本2.0.20190618之前的Amazon Linux 2
- CentOS Stream 8和9
- Red Hat Enterprise Linux(RHEL)8和9
- Ubuntu 16.04和18.04
2、获取实例ID
您可以使用Amazon EC2控制台获取实例ID(从Instance ID(实例ID)列)。如果您愿意,可以使用describe-instances(Amazon CLI)或Get-EC2Instance(Amazon Tools for Windows PowerShell)命令。
3、在您的本地计算机上安装SSH客户端
您的本地计算机很可能已默认安装SSH客户端。您可以通过在命令行键入ssh来检查SSH客户端。如果您的本地计算机无法识别该命令,您可安装SSH客户端。
4、[Ubuntu]在实例上安装Amazon CLI
要在Ubuntu实例上安装EC2 Instance Connect,您必须在实例上使用Amazon CLI。
安装EC2 Instance Connect
安装EC2 Instance Connect将在实例上配置SSH进程守护程序。
根据实例的操作系统,使用以下过程之一安装EC2 Instance Connect。
一、在使用Amazon Linux 2启动的实例上安装EC2 Instance Connect
1、使用SSH连接到您的实例。
在以下命令中,将示例值替换为自己的值。可以使用在启动实例时为其分配的SSH密钥对以及用于启动实例的AMI的默认用户名。对于Amazon Linux 2,默认用户名为ec2-user。
ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
2、在实例上安装EC2 Instance Connect程序包。
sudo yum install ec2-instance-connect
您将会在/opt/aws/bin/文件夹中看到三个新脚本:
eic_curl_authorized_keys
eic_parse_authorized_keys
eic_run_authorized_keys
3、(可选)验证是否在实例上成功安装了EC2 Instance Connect。
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
二、在通过CentOS启动的实例上安装EC2 Instance Connect
1、使用SSH连接到实例。
在以下命令中,将示例值替换为自己的值。可以使用在启动实例时为其分配的SSH密钥对以及用于启动实例的AMI的默认用户名。对于CentOS,默认用户名为centos或ec2-user。
ssh -i my_ec2_private_key.pem centos@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
2、如果使用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
3、运行以下命令,在实例上安装EC2 Instance Connect软件包。
适用于CentOS的EC2 Instance Connect配置文件在Red Hat Package Manager(RPM)包中提供,适用于CentOS 8和CentOS 9,以及在Intel/AMD(x86_64)或ARM(AArch64)上运行的实例类型有不同的RPM包。
使用适用于操作系统和CPU架构的命令块。
CentOS 8
Intel/AMD(x86_64)
mkdir /tmp/ec2-instance-connect
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
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
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
ARM(AArch64)
mkdir /tmp/ec2-instance-connect
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
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
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)
mkdir /tmp/ec2-instance-connect
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
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
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
ARM(AArch64)
mkdir /tmp/ec2-instance-connect
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
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
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
4、(可选)验证是否在实例上成功安装了EC2 Instance Connect。
- 对于CentOS 8:
sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf
- 对于CentOS 9:
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
三、在使用Red Hat Enterprise Linux(RHEL)启动的实例上安装EC2 Instance Connect
1、使用SSH连接到实例。
在以下命令中,将示例值替换为自己的值。可以使用在启动实例时为其分配的SSH密钥对以及用于启动实例的AMI的默认用户名。对于RHEL,默认用户名为ec2-user或root。
ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
2、如果使用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
3、运行以下命令,在实例上安装EC2 Instance Connect软件包。
在Red Hat Package Manager(RPM)包中提供适用于RHEL的EC2 Instance Connect配置文件,适用于RHEL 8和RHEL 9,以及在Intel/AMD(x86_64)或ARM(AArch64)上运行的实例类型有不同的RPM包。
使用适用于操作系统和CPU架构的命令块。
RHEL 8
Intel/AMD(x86_64)
mkdir /tmp/ec2-instance-connect
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
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
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
ARM(AArch64)
mkdir /tmp/ec2-instance-connect
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
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
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)
mkdir /tmp/ec2-instance-connect
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
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
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
ARM(AArch64)
mkdir /tmp/ec2-instance-connect
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
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
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
4、(可选)验证是否在实例上成功安装了EC2 Instance Connect。
- 对于RHEL 8:
sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf
- 对于RHEL 9:
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
四、在使用Ubuntu 16.04或更高版本启动的实例上安装EC2 Instance Connect
1、使用SSH连接到实例。
在以下命令中,将示例值替换为自己的值。可以使用在启动实例时为其分配的SSH密钥对以及用于启动实例的AMI的默认用户名。对于Ubuntu AMI,用户名为ubuntu。
ssh -i my_ec2_private_key.pem ubuntu@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
(2、可选)确保您的实例具有最新Ubuntu AMI。
使用以下命令更新实例上的所有程序包。
sudo apt-get update
sudo apt-get upgrade
3、在实例上安装EC2 Instance Connect程序包。
sudo apt-get install ec2-instance-connect
您将会在/usr/share/ec2-instance-connect/文件夹中看到三个新脚本:
eic_curl_authorized_keys
eic_parse_authorized_keys
eic_run_authorized_keys
4、(可选)验证是否在实例上成功安装了Instance Connect。
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