我需要SSH访问运行Ubuntu 10.4的Amazon EC2实例。我得到的只是亚马逊的用户名和密码。有什么想法吗?
答案 0 :(得分:155)
基本上,您需要私钥文件才能通过SSH登录EC2。请按照以下步骤创建一个:
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- 根据您的分发选择ec2-user
或ubuntu
作为您的用户名,在最新版本中避免使用root用户名。答案 1 :(得分:23)
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
只需使用ubuntu
代替root
。你的问题将得到解决。
干杯!
答案 2 :(得分:10)
步骤1)下载分配给ec2计算机的私钥 (创建时只下载一次。所以建议在某处提交)
步骤2)并点击命令,
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
答案 3 :(得分:7)
注意,13.04的当前用户是“ubuntu” ssh -i ./mykey.pem ubuntu@ec2-xxx-xxx-xxx-1.compute-1.amazonaws.com
答案 4 :(得分:4)
您需要先创建一个密钥对 - 使用您的EC2控制台执行此操作。然后使用您的私钥使用您选择的SSH客户端SSH连接到服务器(用户名为ec2-user
)。
一旦进入,您可以根据需要发出sudo su -
以获得root权限(注意:您无法直接以root用户身份登录)。
答案 5 :(得分:3)
如果您使用的是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
没有更多!
答案 6 :(得分:1)
要在AWS上设置Ubuntu,请按照以下步骤操作:
要通过SSH访问实例,请运行:
通过指定PEM文件连接到Linux框,例如
ssh -i "file.pem" ubuntu@x.x.x.x
确保您的PEM文件具有600个权限(chmod 600 file.pem
)。
如果您正在运行VPC实例,并且您的安全组正确(使用正确的规则)并且仍然无法正常工作,请在 VPC 部分中检查您的子网应附加到您的 VPC (您的实例都使用)并在路由表中设置新规则{ {1>}为目标, Internet网关为目标。
有关详细信息,请查看:Troubleshooting Connecting to Your Instance
另请参阅:Possible reasons for timeout when trying to access EC2 instance
答案 7 :(得分:1)
1)首先.pem file
chmod 400 my-key-pair.pem
用于限制文件权限,如下所示
ssh
2)然后
.ssh
直接来自ssh -i my-key-pair.pem ec2-user@ec2-198-99-90-3.compute-1.amazonaws.com
文件夹
.ssh
命令
Ctrl + H
注意: - 导航到cd .ssh
文件夹。首先按{{1}}显示所有隐藏文件,最后按{{1}}
答案 8 :(得分:0)
没有以正确的用户身份登录OS Distro可能是个问题。对于某些新的AMI,用户名可能不是&#34; ubuntu&#34;,而是&#34; ec2-user&#34;。例如,对于Amazon Linux,我相信用户是&#34; ec2-user&#34;。 Eric Hammond在这里举例说明:http://alestic.com/2014/01/ec2-ssh-username
我的建议,试试:
ssh -i /path/to/file.pem ec2-user@ec2...
ssh -i /path/to/file.pem ubuntu@ec2...
ssh -i /path/to/file.pem root@ec2...
如果您的AMI错误,您可能只想重新启动计算机,以便在群集中保持一致。如果这是您的问题,您可能至少需要相同的OS Distro至于您的Linux机箱。
答案 9 :(得分:0)
在所有这些答案中做出建议是不够的。针对每个实例,您会看到一个安全组。当您启动新实例时,您将此事件设置为默认值。您需要编辑安全组并添加ssh端口。稍后,当您想要托管您的网站时,您还需要添加8080,8443,80,443端口。
答案 10 :(得分:0)
确保检查这些内容
私钥必须具有400个权限
确保您尝试访问的AWS实例的端口22已打开。
ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX
// XXX.XXX.XXX.XXX =您的实例public ip 答案 11 :(得分:0)
我接受AWS提议使用默认安全组,其中包括&#39; All Trafic&#39;端口。
并且,经过多次尝试连接我的新ec2实例后,我才意识到我应该编辑我使用过的安全组并手动添加到入站和出站22端口(ssh)!
希望它有所帮助!
答案 12 :(得分:0)
首先通过
更改pem文件的权限chmod 400 path/to/key_pair.pem
在文件〜/ .ssh / config中添加以下行,位于文件顶部
Host AWS
Hostname myserver.com
User myuser
IdentityFile path/to/.pem/file
port 22
主机名取服务器的IP或链接,用户取服务器的用户名,身份文件是创建实例时从AWS下载的文件。 只需在终端
中运行以下命令ssh AWS
并享受它!
注意:导航到.ssh
文件夹。首先按主文件夹中的Ctrl + H
以显示所有隐藏文件,最后显示cd .ssh