2015-05-11 180 views
2

我試圖啓動一個ec2實例並通過ssh登錄。我不小心刪除了deafaul vpc,因此從頭創建了一個vpc來執行此操作。我創建了一個具有10.0.0.0/16 VPC CIDR和10.0.0.0/24作爲子網的VPC,並且還創建了一個網關。 A也修改了這個路由表。AWS創建vpc並啓動實例

10.0.0.0/16當地

0.0.0.0/0 IGW-XXXX

我選擇了一個Ubuntu的AMI和我的VPC推出,並分配一個彈性IP的實例。

我有一個公共IP分配給我的實例,並且安全組也打開了端口22。我能夠ping此公網IP,但是當我嘗試與

ssh -i access.pem [email protected] 

我的連接時間ssh到EC2實例了,我失去了在配置什麼?

+0

我沒有使用Ubuntu的,但與SUSE,它創建了一個用戶EC2用戶「並附加密鑰對。您可以嘗試登錄[email protected]。心連心。 – Dinesh

+0

ubuntu是ubuntu ami's的默認用戶,我有一個連接超時,而不是一個驗證錯誤 – Diadara

回答

3

最近,我玩過這樣的配置。下面是我的筆記(這對我有用),檢查你是否沒有錯過任何東西。它看起來像安全組有問題,如果你可以ping實例IP,但不能通過SSH連接。我也會檢查不同的AMI。

創建VPC

$ vpcId=`aws ec2 create-vpc --cidr-block 10.0.0.0/24 --query 'Vpc.VpcId' --output text` $$ echo $vpcId 
vpc-xxxxxxxx 

內VPC啓用DNS解析

$ aws ec2 modify-vpc-attribute --vpc-id $vpcId --enable-dns-support "{\"Value\":true}" 
$ aws ec2 modify-vpc-attribute --vpc-id $vpcId --enable-dns-hostnames "{\"Value\":true}" 

創建默認網關創建的VPC

$ internetGatewayId=`aws ec2 create-internet-gateway --query 'InternetGateway.InternetGatewayId' --output text` && echo $internetGatewayId 
igw-yyyyyyy 
$ aws ec2 attach-internet-gateway --internet-gateway-id $internetGatewayId --vpc-id $vpcId 

在VPC創建子網

$ subnetId=`aws ec2 create-subnet --vpc-id $vpcId --cidr-block 10.0.0.0/24 --query 'Subnet.SubnetId' --output text` && echo $subnetId 
subnet-zzzzzzz 

配置路由表

$ routeTableId=`aws ec2 create-route-table --vpc-id $vpcId --query 'RouteTable.RouteTableId' --output text` && echo $routeTableId 

$ aws ec2 associate-route-table --route-table-id $routeTableId --subnet-id $subnetId 

$ aws ec2 create-route --route-table-id $routeTableId --destination-cidr-block 0.0.0.0/0 --gateway-id $internetGatewayId 

創建安全組和開放的端口22的任何連接

$ securityGroupId=`aws ec2 create-security-group --group-name ec2-dev-secgroup --description "security group" --vpc-id $vpcId --query 'GroupId' --output text` && echo $securityGroupId 
sg-xyzyzyz 

$ aws ec2 authorize-security-group-ingress --group-id $securityGroupId --protocol tcp --port 22 --cidr 0.0.0.0/0 

創建SSH密鑰

aws ec2 create-key-pair --key-name ec2-dev --query 'KeyMaterial' --output text > ~/.ssh/ec2-dev.pem 

chmod 400 ~/.ssh/ec2-dev.pem 

創建EC2實例

$ instanceId=`aws ec2 run-instances --image-id ami-ecd5e884 --count 1 --instance-type t2.micro --key-name ec2-dev --security-group-ids $securityGroupId --subnet-id $subnetId --associate-public-ip-address --query 'Instances[0].InstanceId' --output text` 

ssh -i .ssh/ec2-dev.pem [email protected] 
+0

感謝這一點,我能夠從我的防火牆以外的機器連接,因此懷疑我的防火牆阻止連接端口22到ec2,這很奇怪 – Diadara