Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh Amazon EC2 AMI根授权密钥_Ssh_Amazon Ec2_Amazon_Authorized Keys - Fatal编程技术网

Ssh Amazon EC2 AMI根授权密钥

Ssh Amazon EC2 AMI根授权密钥,ssh,amazon-ec2,amazon,authorized-keys,Ssh,Amazon Ec2,Amazon,Authorized Keys,我正在使用EC2上的公共RedHat AMI,并尝试创建一个默认情况下允许root用户使用ssh的映像。我更改了/etc/ssh/sshd_config文件,以便将permitrotlogin设置为yes,并更改了/root/.ssh/authorized_keys文件以ssh rsa开头,而不是: no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"

我正在使用EC2上的公共RedHat AMI,并尝试创建一个默认情况下允许root用户使用
ssh
的映像。我更改了
/etc/ssh/sshd_config
文件,以便将
permitrotlogin
设置为
yes
,并更改了
/root/.ssh/authorized_keys
文件以
ssh rsa
开头,而不是:

no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ec2-user\" rather than the user \"root\".';echo;sleep 10". 
完成此操作后,我可以以root身份将ssh连接到我的实例中,但是当我从该实例创建自定义AMI时,
/root/.ssh/authorized_keys
文件将恢复到不允许它的旧版本

我想知道如何使我的自定义AMI在默认情况下启用root ssh,或者是否有某个文件正在将root的授权密钥文件更改回我可以编辑的原始文件


谢谢

我在Ubuntu/Debian AMIs上也看到过类似的情况

最有可能的罪魁祸首是


在我们的例子中,在
/etc/cloud/cloud.cfg
中调整
禁用\u root:true
=>
禁用\u root:false
就成功了。

不确定文件被还原的原因,但作为旁白,如果必须允许root访问,我建议您使用“permitrotlogin without password”而不是“permitrotlogin yes”。不管它看起来是怎么说的,“无密码”意味着“只允许使用密钥登录,而不允许使用密码登录”。如果设置了根密码,脚本kiddies将无法访问该密码,并且脚本kiddies会设法强行访问该密码。