SSH到AWS实例,无密钥对
1:有没有不使用密钥对登录AWS实例的方法?我想在一个实例上设置几个站点/用户。但是,我不想给客户端提供密钥对以供登录 2:在一个AWS实例中设置托管站点/用户的最简单方法是什么,不同的域指向不同的目录?1)您应该能够更改ssh配置(在Ubuntu上,这通常在SSH到AWS实例,无密钥对,ssh,amazon-ec2,ssh-keys,Ssh,Amazon Ec2,Ssh Keys,1:有没有不使用密钥对登录AWS实例的方法?我想在一个实例上设置几个站点/用户。但是,我不想给客户端提供密钥对以供登录 2:在一个AWS实例中设置托管站点/用户的最简单方法是什么,不同的域指向不同的目录?1)您应该能够更改ssh配置(在Ubuntu上,这通常在/etc/ssh或/etc/sshd中),并重新启用密码登录 2) 关于这一点,AWS并没有什么特别之处——Apache可以直接处理vHost(虚拟主机)——允许您指定从某个目录服务某个域。我会在谷歌上搜索更多关于细节的信息。问题1的答案
/etc/ssh
或/etc/sshd
中),并重新启用密码登录
2) 关于这一点,AWS并没有什么特别之处——Apache可以直接处理vHost(虚拟主机)——允许您指定从某个目录服务某个域。我会在谷歌上搜索更多关于细节的信息。问题1的答案 下面是我在Ubuntu EC2上所做的: A) 使用密钥对以root用户身份登录 B) 使用设置必要的用户及其密码
# sudo adduser USERNAME
# sudo passwd USERNAME
C) 编辑/etc/ssh/sshd\u config
设置
有效用户无需密钥即可登录
PasswordAuthentication是
还希望root用户也不使用密钥登录
permitrotlogin是
D) 使用以下命令重新启动ssh
守护程序
# sudo service ssh restart
如果您使用的是centOS,只需将ssh更改为sshd即可
现在,您可以不使用密钥对登录到
ec2
实例。我是通过Google来到这里的,想知道如何设置cloud init以不禁用AWS上的密码验证。这两个答案都不能解决这个问题。如果没有它,如果您创建一个AMI,那么实例初始化cloud init将再次禁用此选项
要做到这一点,正确的方法不是手动更改sshd_config,而是更正cloud init(用于在配置期间配置实例的开放源代码工具)的设置。更多信息,请访问:。cloud init的配置文件位于:
/etc/cloud/cloud.cfg
该文件用于设置cloud init使用的许多配置。请通读此文件,了解可以在cloud init上配置的项目示例。这包括诸如新创建的实例上的默认用户名等项)
要通过SSH启用或禁用密码登录,您需要更改参数SSH_pwath的值。将文件/etc/cloud/cloud.cfg中的参数ssh_pwauth从0更改为1后,烘焙一个AMI。如果您从这个新烘焙的AMI启动,它将在设置后启用密码身份验证
您可以通过检查ssh配置中密码身份验证的值来确认这一点,如其他答案中所述。su-root
转到/etc/ssh/sshd\u config
vi sshd\u配置
身份验证:
permitrotlogin是
要启用空密码,请更改为是(不推荐)
许可证密码否
更改为“否”以禁用隧道明文密码
PasswordAuthentication是
:x
然后重新启动ssh服务
root@cloudera2:/etc/ssh# service ssh restart
ssh stop/waiting
ssh start/running, process 10978
现在转到sudoers文件(/etc/sudoers)
用户权限规范
最近,AWS在Systems Manager服务中添加了一个名为Sessions Manager的功能,该功能允许用户通过SSH连接到实例中,而无需设置私钥或打开端口22。我相信身份验证是通过IAM和可选的MFA完成的 您可以在此处了解更多信息:
AWS添加了一项新功能,即AWS SSM会话管理器,用于连接实例而无需任何打开的端口。 我创建了一个整洁的SSH ProxyCommand脚本,在连接到目标实例的过程中临时将您的公共SSH密钥添加到目标实例。这样做的好处是,您无需将ssh(22)端口添加到安全组即可进行连接,因为ssh连接是通过ssm会话管理器进行隧道连接的 亚马逊增加了AWS SSM SSH代理 有一个官方脚本来自动化这个过程
pip安装ec2instanceconnectcli
那就
mssh
在这些条件下(1个ip和多个VHOST),您仍然可以使用HTTPS吗?你知道一些文档解释了为所有域设置openSSL吗?所以我在问题中提到了这一点,但由于这是公认的答案,我想澄清一下。这个答案有一个AWS特定的部分。Cloud Init将作为启动的一部分运行,它将覆盖使用此方法设置的配置。这就是我的答案。谢谢,在AmazonAMI上,最后一个命令应该是:“sudo service sshd restart”谢谢。但是对于默认的ec2用户
帐户,这仍然无法解决问题。嘿@シリウス, 这也适用于ec2用户。你只需要为它设置一个密码,然后很好地回答这个问题。我建议不要使用默认帐户,如ec2用户或ubuntu。在Ubuntu EC2上,“sudo service ssh restart”适合我。我怀疑这个答案暗示了正确的解决方案,但它写得太差了,我无法理解。我甚至不知道这个文件存在。回答得好@JimMaguire我猜我假设了很多背景信息。我还补充了一些澄清。这有用吗?你有什么特别的建议要我加入吗?如果你在/etc/cloud/cloud.cfg中找不到“PasswordAuthentication”,请在/etc/cloud/cloud.cfg.d/00_defaults.cfg中查找“ssh_pwath”,并将其值从“false”更改为“true”。现在在aws中可能是:@BMW,有一个官方的python包装器,它允许用户执行mssh
root ALL=(ALL)NOPASSWD:ALL
yourinstanceuser ALL=(ALL)NOPASSWD:ALL / This is the user by which you are launching instance.