基本上,您需要一个私有密钥文件才能通过SSH登录到您的EC2。按照以下步骤创建此文件:
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- 最新版本已避免使用root用户名,请根据您的发行版选择ec2-user
或ubuntu
作为用户名。ec2-user
或者可能是 ubuntu
,但不是 root
。 - Jorge Orpinel Pérezssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
只需使用ubuntu
代替root
,您的问题就会得到解决。
干杯!
第一步)下载分配给您的EC2机器的私钥(在创建时仅需下载一次,建议将其保存在某处)
第二步)并执行以下命令:
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
如果您正在使用MacOS,您应该创建/编辑SSH配置文件(〜/ .ssh / config),并输入以下内容:
Host *.amazonaws.com
User ubuntu
Port 22
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem
然后连接到任何一个EC2实例:
ssh MYNAME.amazonaws.com
没有更多了!
首先,您需要使用EC2控制台创建密钥对。然后,使用您的私有密钥通过您选择的SSH客户端登录到服务器(用户名为ec2-user
)。
登录后,如果需要获取root权限,可以使用命令sudo su -
(请注意:不能直接以root身份登录)。
1)首先,对.pem文件
进行chmod
操作,以限制文件权限如下:
chmod 400 my-key-pair.pem
2) 然后从 .ssh
文件夹直接使用以下命令进行 ssh
ssh -i my-key-pair.pem ec2-user@ec2-198-99-90-3.compute-1.amazonaws.com
注意:- 若要进入 .ssh
文件夹,请先按下 Ctrl + H
显示所有隐藏文件,最后使用 cd .ssh
命令进入。
在AWS上设置Ubuntu,请按照以下步骤操作:
要通过SSH访问实例,请运行:
Connect to Linux box by specifying your PEM file, e.g.
ssh -i "file.pem" ubuntu@x.x.x.x
Make sure your PEM file has 600 permission (chmod 600 file.pem
).
如果您正在运行VPC实例,并且您的安全组是正确的(具有正确的规则),但仍无法正常工作,则在VPC部分中检查您的子网,该子网应附加到您的VPC(同时由您的实例使用),并在路由表中设置新规则,其中0.0.0.0/0
为目标,您的Internet Gateway为目标。
有关更多详细信息,请参见:Troubleshooting Connecting to Your Instance
另请参阅:Possible reasons for timeout when trying to access EC2 instance
首先通过以下方式更改pem文件的权限:
chmod 400 path/to/key_pair.pem
Host AWS
Hostname myserver.com
User myuser
IdentityFile path/to/.pem/file
port 22
主机名取服务器的IP或链接,用户取服务器的用户名,身份文件是在创建实例时从AWS下载的文件。 只需在终端中运行以下命令
ssh AWS
并享受它!
注意:要进入.ssh
文件夹,请先在主文件夹中按下Ctrl + H
以显示所有隐藏文件,最后输入cd .ssh
按照所有这些答案中建议的做法是不够的。对于每个实例,您都会看到一个安全组。当您启动新实例时,此设置将默认设置。您需要编辑安全组并添加ssh端口。稍后,当您想要托管您的网站时,还需要添加8080、8443、80、443端口。