没有密钥对的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实例的主要内容,如果未能解决你的问题,请参考以下文章