SSH带有密码到AWS EC2实例



我正在尝试为大约90个人设置一个AWS实例,他们可以在其中 sftp in和删除文件,但是看来AWS阻止了ssh的密码,并且仅允许在ssh键登录中默认情况下。

是否有一种方法可以在AWS内部撤消此行为并允许正常的ssh并因此发生sftp吗?如果我不需要管理SSH键以及将很棒的用户名和密码。

you 可以按照Hellov的建议启用密码身份验证,但是我建议您不要这样做。

为什么不仅要使用ssh键?

这90个人中的每个人都应每天使用自己使用的私钥文件 - 每个需要访问此机器的人,您都应要求他们的公钥。

将每个开发人员的公开密钥添加,然后将它们逐行添加到

的EC2主机上的文件
/home/<user>/.ssh/authorized_keys

从这里,每个用户都可以使用

登录
ssh -i /path/to/private/key <user>@ec2.host.com
sftp -oIdentityFile=~/.ssh/keyfile <user>@ec2.host.com

这要更加安全,因为您无需在90多个开发人员之间共享一个密码,该密码在某个时候会写在粘稠的纸条上并丢失,或者有人更改并锁定其他89开发人员。

这也具有优势,如果这90家开发人员中的一个离开公司,您所要做的就是从_authorized_keys_删除其公共密钥,而该人将失去对机器的访问,您将无需更改该用户共享密码。

首先打开几个终端会话,以防万一修改ssh config失败,您仍然可以选择将其还原为旧值。

编辑/etc/ssh/sshd_config(将备份文件保存到sshd_config.bak之后(,然后将以下行更改为:

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication yes

此外,如果要禁用基于密钥的身份验证:

PubkeyAuthentication no

保存文件并重新启动SSH守护程序:

sudo service ssh restart

创建新用户并设置密码,或者是否已经为现有用户设置了密码:打开新的SSH会话,您应该能够使用密码登录。如果解决方案不起作用,请使用其他任何开放式终端会话来还原旧的sshd_config,重新启动SSH服务并继续调试。

关键部分是在服务器上修改/etc/etcss/ssh/sshd_config并重新启动SSH服务器(通常是" Service SSHD RESTART" - 注意,请注意是" SSHD",而不是" SSH",而不是" SSH"至少在红色帽子上(。

PasswordAuthentication yes

您也可能想运行

sshd -t

在运行" Service SSHD重新启动"之前,请确保您不会在SSHD_Config文件中意外锁定自己。

使用公共密钥进行身份验证可能更有意义,具体取决于您的情况。

如果您使用公共密钥身份验证并拥有50人,请确保您还正确管理钥匙。请参阅https://www.ssh.com/iam/ssh-key-management或NIST IR 7966更多信息。如果您碰巧在医疗保健,金融,政府,关键基础设施或其他受监管的事物中,大多数合规法规也需要适当终止对离开的人的钥匙。大多数法规和通常不良的安全惯例都明确禁止共享密码。

您可能还想查看加密审计师https://www.ssh.com/products/cryptoauditor/可以强制执行文件传输策略(方向等(需要,它可以记录谁做了什么(用于文件传输和shell访问(。

最新更新