没有密钥对的SSH到AWS实例

And*_*res 46 ssh amazon-ec2 ssh-keys

1:有没有办法在不使用密钥对的情况下登录AWS实例?我想在一个实例上设置几个站点/用户.但是,我不想为客户端提供密钥对来登录.

2:在1个AWS实例中设置托管站点/用户的最简单方法是什么,不同的域指向不同的目录?

ill*_*lly 124

回答问题1

这是我在以下所做的Ubuntu EC2:

A)使用密钥对以root身份登录

B)使用安装必要的用户及其密码

# sudo adduser USERNAME
# sudo passwd USERNAME
Run Code Online (Sandbox Code Playgroud)

C)编辑/etc/ssh/sshd_config设置

对于有效用户无需密钥登录

PasswordAuthentication yes

也希望root也可以没有密钥登录

PermitRootLogin yes

D)用.重启ssh守护进程

# sudo service ssh restart
Run Code Online (Sandbox Code Playgroud)

如果你使用的是centOS,只需将ssh更改为sshd

现在,您ec2无需密钥对即可登录您的实例.

  • 谢谢,在Amazon AMI上,最后一个命令应该是:"sudo service sshd restart" (8认同)
  • 对我来说,这工作"sudo服务ssh重启" (6认同)
  • 嘿,@シリウス,这也适用于ec2用户.你只需要为它设置一个密码然后很好地回答这个问题. (4认同)
  • 我建议不要使用像ec2-user或ubuntu这样的默认帐户.进行其他帐户登录. (3认同)

Chr*_*nch 18

1)您应该能够更改ssh配置(在Ubuntu上这通常是/etc/ssh/etc/sshd)并重新启用密码登录.

2)没有任何关于此的AWS特定内容--Apache可以开箱即用地处理VHOSTS(虚拟主机) - 允许您指定从某个目录提供某个域.我想谷歌有关具体细节的更多信息.


ali*_*ain 14

我来到谷歌寻找如何设置cloud init以不在AWS上禁用PasswordAuthentication的答案.这两个答案都没有解决这个问题.如果没有它,如果您创建AMI,那么在实例初始化时,cloud init将再次禁用此选项.

执行此操作的正确方法是,不需要手动更改sshd_config,而是需要更正cloud init的设置(用于在配置期间配置实例的开源工具.请阅读更多信息:https://cloudinit.readthedocs.org/en/最新/).cloud init的配置文件位于:/etc/cloud/cloud.cfg

此文件用于设置cloud init使用的大量配置.阅读此文件,了解可在cloud-init上配置的项目示例.这包括新创建的实例上的默认用户名等项目

要通过SSH启用或禁用密码登录,您需要更改参数ssh_pwauth的值.在文件/etc/cloud/cloud.cfg中将参数ssh_pwauth从0更改为1后烘焙AMI.如果从这个新近烘焙的AMI启动,它将在配置后启用密码验证.

您可以通过检查ssh配置中PasswordAuthentication的值来确认这一点,如其他答案中所述.

  • @JimMaguire 我想我假设了很多背景信息。我添加了更多说明。这有帮助吗?您有什么特别的建议希望我采纳吗? (2认同)