0

我是亚马逊 ec2 服务的新用户。我创建了一个 linux 实例,并在生成的 ssh 密钥的帮助下,我能够在 Windows 7 机器上使用 putty ssh 进入实例。我阅读了“启动并连接到实例”部分下的以下链接中给出的文档
https://docs.aws.amazon.com/cli/latest/userguide/tutorial-ec2-ubuntu.html
基于此我正在运行以下命令窗口命令提示符。

aws ec2 run-instances --image-id ami-d783a9b8 --subnet-id subnet-d3fdbabb --security-group-ids sg-0e81c2a33e1039f58 --count 1 --instance-type t2.micro --key-name “datastructutrekey” --query 'Instances[0].InstanceId' " i-03e7f6391a0f523ee"

但我遇到了错误

An error occurred (InvalidParameterValue) when calling the RunInstances operatio
n: Invalid value 'A¢A?A?datastructutrekeyA¢A?A?' for keyPairNames. Text is not i
n valid ISO 8859-1 (Latin 1) encoding

D:\folder where aws keys are>" i-03e7f6391a
0f523ee"
'" i-03e7f6391a0f523ee"' is not recognized as an internal or external command,
operable program or batch file.

任何人都可以指出我在做什么错误以及如何解决这个问题?

当我尝试按如下方式运行命令时

aws ec2 run-instances --image-id ami-d783a9b8 --subnet-id subnet-d3fdbabb --security-group-ids sg-0e81c2a33e1039f58 --count 1 --instance-type t2.micro --key-name “datastructutre key” --query ''Instances[0].InstanceId'' "i-03e7f6391a0f523ee"

我收到以下错误

Bad value for --query ''Instances[0].InstanceId'': Unexpected token: Instances:
Parse error at column 2, token "Instances" (UNQUOTED_IDENTIFIER), for expression
:
"''Instances[0].InstanceId''"
   ^

上面哪个命令更合适,我该如何解决上面的错误?另外我发布的输出

aws ec2 describe-instances

这样它可能会给你一个更好的主意

{
    "Reservations": [
        {
            "Groups": [],
            "Instances": [
                {
                    "AmiLaunchIndex": 0,
                    "ImageId": "ami-d783a9b8",
                    "InstanceId": "i-03e7f6391a0f523ee",
                    "InstanceType": "t2.micro",
                    "KeyName": "datastructutre key",
                    "LaunchTime": "2018-08-01T04:28:52.000Z",
                    "Monitoring": {
                        "State": "disabled"
                    },
                    "Placement": {
                        "AvailabilityZone": "ap-south-1a",
                        "GroupName": "",
                        "Tenancy": "default"
                    },
                    "PrivateDnsName": "ip-172-31-20-16.ap-south-1.compute.internal",
                    "PrivateIpAddress": "172.31.20.16",
                    "ProductCodes": [],
                    "PublicDnsName": "",
                    "State": {
                        "Code": 80,
                        "Name": "stopped"
                    },
                    "StateTransitionReason": "",
                    "SubnetId": "subnet-d3fdbabb",
                    "VpcId": "vpc-08356c60",
                    "Architecture": "x86_64",
                    "BlockDeviceMappings": [
                        {
                            "DeviceName": "/dev/xvda",
                            "Ebs": {
                                "AttachTime": "2018-08-01T04:28:52.000Z",
                                "DeleteOnTermination": true,
                                "Status": "attached",
                                "VolumeId": "vol-09716d3308f44c63f"
                            }
                        }
                    ],
                    "ClientToken": "",
                    "EbsOptimized": false,
                    "EnaSupport": true,
                    "Hypervisor": "xen",
                    "NetworkInterfaces": [
                        {
                            "Attachment": {
                                "AttachTime": "2018-08-01T04:28:52.000Z",
                                "AttachmentId": "eni-attach-08d060230b617ca70",
                                "DeleteOnTermination": true,
                                "DeviceIndex": 0,
                                "Status": "attached"
                            },
                            "Description": "",
                            "Groups": [
                                {
                                    "GroupName": "launch-wizard-1",
                                    "GroupId": "sg-0e81c2a33e1039f58"
                                }
                            ],
                            "Ipv6Addresses": [],
                            "MacAddress": "02:5a:17:52:69:a6",
                            "NetworkInterfaceId": "eni-0146aab6d9503bf47",
                            "OwnerId": "1****************",
                            "PrivateDnsName": "ip-172-31-20-16.ap-south-1.compute.internal",
                            "PrivateIpAddress": "172.31.20.16",
                            "PrivateIpAddresses": [
                                {
                                    "Primary": true,
                                    "PrivateDnsName": "ip-172-31-20-16.ap-south-1.compute.internal",
                                    "PrivateIpAddress": "172.31.20.16"
                                }
                            ],
                            "SourceDestCheck": true,
                            "Status": "in-use",
                            "SubnetId": "subnet-d3fdbabb",
                            "VpcId": "vpc-08356c60"
                        }
                    ],
                    "RootDeviceName": "/dev/xvda",
                    "RootDeviceType": "ebs",
                    "SecurityGroups": [
                        {
                            "GroupName": "launch-wizard-1",
                            "GroupId": "sg-0e81c2a33e1039f58"
                        }
                    ],
                    "SourceDestCheck": true,
                    "StateReason": {
                        "Code": "Client.InstanceInitiatedShutdown",
                        "Message": "Client.InstanceInitiatedShutdown: Instance initiated shutdown"
                    },
                    "VirtualizationType": "hvm",
                    "CpuOptions": {
                        "CoreCount": 1,
                        "ThreadsPerCore": 1
                    }
                }
            ],
            "OwnerId": "1xxxxxxxx",
            "ReservationId": "r-xxxxxxxxxx"
        }
    ]
}

还有 C:\Users>aws --version

aws-cli/1.15.80 Python/3.7.0 Windows/7 botocore/1.10.79

answer
复制粘贴命令出现双引号的方式有误。我想要的是 start-instance 而不是我在执行 aws ec2 run-instances 命令后启动了现有实例 C:\Users>aws ec2 start-instances --instance-ids i-03e7f6391a0f523ee

它启动了实例,但要通过 putty 连接到它,我必须查看当实例状态在多天后从停止变为运行时更改的 IP 地址。

4

3 回答 3

0

你的命令:

aws ec2 run-instances --image-id ami-d783a9b8 --subnet-id subnet-d3fdbabb --security-group-ids sg-0e81c2a33e1039f58 --count 1 --instance-type t2.micro --key-name “datastructutrekey” --query 'Instances[0].InstanceId'

周围有“弯引号” datastructutrekey,可能是由于从文字处理器(例如 Microsoft Word)复制文本引起的。

用直引号替换它们:

aws ec2 run-instances --image-id ami-d783a9b8 --subnet-id subnet-d3fdbabb --security-group-ids sg-0e81c2a33e1039f58 --count 1 --instance-type t2.micro --key-name "datastructutrekey" --query 'Instances[0].InstanceId'
于 2018-08-18T04:39:22.500 回答
0

我不确定您使用的是什么键盘或语言设置...

对于您的第一个命令,您输入了一些不是标准引号的奇怪引号。编辑您的命令并将其替换为普通命令。接下来,同样的命令在“i-03e7f6391a0f523ee”末尾指定一个实例 ID。删除这个。对于您的问题,您以不同的方式指定密钥对名称。找出正确的名称并使用该名称。

对于您的第二个命令,您再次使用奇怪的引号语法。在这里,您使用两个单引号而不是一个引号。最后,您还拥有该实例 ID。删除它。

您的 AWS CLI 版本很好。

于 2018-08-18T04:41:26.040 回答
0

如何使用 PuTTy 从您的笔记本电脑连接到 AWS Linux 实例

  1. 启动 EC2 实例
  2. 我选择 Red Hat Linux AMI 来安装 Linux 映像。
  3. 创建了新的密钥对 .pem 文件。
  4. 在我的笔记本电脑上安装腻子。
  5. 运行 PuTTyGen 并单击 Load
  6. 更改为选择所有文件 ( . )。
  7. 然后选择 .pem 文件
  8. 然后点击保存私钥
  9. 并为这个新的密钥对命名。
  10. 现在您可以使用 putty 连接您的实例
  11. 复制并粘贴您的 linux 实例的公共 ip
  12. 接下来展开 SSH 并单击 Auth。
  13. 单击浏览并从您保存的位置选择新的密钥对,单击打开
  14. 如果要保存,请在左侧类别的顶部,然后单击会话
  15. 在保存的会话下键入名称,然后单击保存。
  16. 现在您可以打开您的会话,给 ec2-user 并按 Enter 您现在已连接。
于 2020-12-16T04:01:23.710 回答