带密码的ssh到AWS EC2实例
我试图为大约90个人设置一个AWS实例,他们可以在sftp
中放入文件,但似乎AWS阻止了ssh
的密码,并且只允许在ssh密钥登录中默认。带密码的ssh到AWS EC2实例
是否存在解决AWS内部此行为的方法,并允许正常发生ssh
并因此发生sftp
?如果我不需要管理ssh密钥以及很好的用户名和密码。
首先打开EC2机器的少数终端会话,如果修改SSH配置失败,您仍然可以选择将其恢复到旧值。
编辑/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服务并继续调试。
这正是我所期待的。我试了一下,它就像我需要的那样工作。谢谢! –
你可以启用密码认证以下helloV的建议,但我会建议这个。
为什么你不只是使用SSH密钥?
这90个人中的每一个都应该有他们自己的私钥文件,他们每天都使用 - 每个需要访问这台机器的人,你都应该要求他们的公钥。
以每个开发者的公钥,并线,在
/home/<user>/.ssh/authorized_keys
从这里添加它们,行至EC2主机上的文件,每个用户将可以使用登录
ssh -i /path/to/private/key <user>@ec2.host.com
sftp -oIdentityFile=~/.ssh/keyfile <user>@ec2.host.com
这样做更安全得多,因为您不需要在90多位开发人员之间共享单个密码,该密码在某些时候会写在便笺上并丢失,或者有人更改并锁定其他89位开发人员。
这样做的好处还在于,如果这90位开发人员中的单个人离开公司,您只需从_authorized_keys_中删除他们的公钥并且该人员无法访问机器,则您不需要更改所有用户的共享密码。
关键部分是修改服务器上的/ etc/ssh/sshd_config并重新启动SSH服务器(通常是“service sshd restart” - 注意它是“sshd”,而不是“Red Hat”中的“ssh”)。
PasswordAuthentication yes
您可能还需要运行
sshd -t
运行“服务的sshd重新启动”前,要确保你不小心将自己锁定在sshd_config文件中一个错字。
根据您的场景,使用公共密钥进行身份验证可能更有意义。
如果您使用公共密钥身份验证并拥有类似50人的任何内容,请确保您也正确管理密钥。请参阅https://www.ssh.com/iam/ssh-key-management或NIST IR 7966的更多信息。如果您碰巧在医疗保健,财务,政府,关键基础设施或任何其他受监管的情况下,适当的终止钥匙适用于大多数合规条例。大多数法规明确禁止使用共享密码,通常安全做法不好。
您可能还想看看CryptoAuditor https://www.ssh.com/products/cryptoauditor/,它可以强制执行文件传输策略(方向等),确保您不会在不需要时给人们shell访问权限,并且可以记录谁做了什么文件传输和shell访问)。
Linux实例? – helloV
是的。 Ubuntu 16.04。 –