没有密钥对的SSH到AWS实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有密钥对的SSH到AWS实例相关的知识,希望对你有一定的参考价值。

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

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

答案

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

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

另一答案

回答问题1

这是我在Ubuntu EC2上所做的:

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

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

# sudo adduser USERNAME
# sudo passwd USERNAME

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

For a valid user to login with no key

PasswordAuthentication yes

Also want root to login also with no key

PermitRootLogin yes

D)用。重启ssh守护进程

# sudo service ssh restart

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

现在您无需密钥对即可登录ec2实例。

另一答案

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

执行此操作的正确方法是,不需要手动更改sshd_config,而是需要更正cloud init的设置(用于在配置期间配置实例的开源工具。请阅读更多信息:https://cloudinit.readthedocs.org/en/latest/)。 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的值来确认这一点,如其他答案中所述。

另一答案

su - root

转到/etc/ssh/sshd_config

vi sshd_config

Authentication:

PermitRootLogin yes

To enable empty passwords, change to yes (NOT RECOMMENDED)

PermitEmptyPasswords no

Change to no to disable tunnelled clear text passwords

PasswordAuthentication yes

:X!

然后重启ssh服务

root@cloudera2:/etc/ssh# service ssh restart
ssh stop/waiting
ssh start/running, process 10978

现在转到sudoers文件(/ etc / sudoers)。

User privilege specification

root  ALL=(ALL)NOPASSWD:ALL
yourinstanceuser  ALL=(ALL)NOPASSWD:ALL    / This is the user by which you are launching instance.

以上是关于没有密钥对的SSH到AWS实例的主要内容,如果未能解决你的问题,请参考以下文章

SSH 到 AWS 实例,无需密钥对

将密钥对添加到现有 EC2 实例

如何获取 AWS EC2 密钥对创建日期?

AWS考证方向:使用key密钥连接实例

AWS SSH 密钥是不是符合 HIPAA 或 Sox 标准?

AWS SSH 密钥对创建