Azure上的根登录Ubuntu虚拟机

Azure上的根登录Ubuntu虚拟机,ubuntu,azure,Ubuntu,Azure,已从Azure VM上的Azure库安装Ubuntu服务器LTS 14.04。 以Azure使用我的密码创建的标准“azureuser”登录。 更改的根密码: sudo passwd root 如果我尝试以“root”身份登录: 我错过了什么? 是的,密码是正确的。默认情况下,Ubuntu禁用根帐户。由于root是godmode,禁用它意味着所有试图破坏root帐户的自动脚本黑客都在浪费时间 我强烈建议不要这样做。(有很多原因,这里有一些:)但是,这样做的步骤是 根据该页面,要解锁root帐户

已从Azure VM上的Azure库安装Ubuntu服务器LTS 14.04。 以Azure使用我的密码创建的标准“azureuser”登录。 更改的根密码:

sudo passwd root
如果我尝试以“root”身份登录:

我错过了什么?
是的,密码是正确的。

默认情况下,Ubuntu禁用根帐户。由于root是godmode,禁用它意味着所有试图破坏root帐户的自动脚本黑客都在浪费时间

我强烈建议不要这样做。(有很多原因,这里有一些:)但是,这样做的步骤是

根据该页面,要解锁root帐户,必须执行
sudo passwd-u root
。要重新锁定根帐户,请使用
sudo passwd-l root


重申一下:这是个坏主意。更好的解决方案是创建一个新用户,该用户只在您需要的范围内拥有无限权限。根是上帝模式;如果你把事情搞得太糟了。另一方面,您范围内的提升用户只能销毁它可以访问的内容…而不是您的整个系统。

只需运行
sudo-s
,您将获得根终端。

只需执行
sudo
。那么你没有超级用户的完整终端。这将仅以root权限执行命令。
请参阅。

使用SSH进入Azure VM

首先,, 您需要启用根帐户:

#sudo passwd root
然后,您需要为ssh启用根登录以编辑文件/etc/ssh/sshd_config(Azure VMs中的默认值为Permitrotlogin,不带密码,因此您需要更改/注释它):

最后,您需要重新加载/重新启动ssh服务:

#sudo service ssh reload

这是一篇老文章,但有时也会发生。这是我研究后解决的问题

采样日志

$ azure vm extension set hm hm  CustomScript Microsoft.Azure.Extensions 2.0 --auto-upgrade-minor-version  -i '{"commandToExecute": "cp /tmp/sudoers.org /etc/sudoers"}' info:    Executing command vm extension set
+ Looking up the VM "hm"
+ Installing extension "CustomScript", VM: "hm" info:    vm extension set command OK
对于macOS用户,以下是简单的步骤。(至少需要安装节点)

或asm,取决于您的虚拟机

azure vm list    
如果未列出VM,请更改模式

将sudoers文件从其他计算机复制到目标计算机的/tmp/sudoers.default

后备潜水艇

azure vm extension set hm hm  CustomScript Microsoft.Azure.Extensions 2.0 --auto-upgrade-minor-version  -i '{"commandToExecute": "cp /etc/sudoers /tmp"}'
将默认sudoers复制到/etc/sudoers

azure vm extension set hm hm  CustomScript Microsoft.Azure.Extensions 2.0 --auto-upgrade-minor-version  -i '{"commandToExecute": "cp /tmp/sudoers.default /etc/sudoers"}'

我无法得到任何其他的答案,但这个答案对我的案件有效

对于那些懒得点击链接的人:

ssh -i KEYPAIR.pem ubuntu@HOSTNAME   'sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'

不,那没用。只要在非Azure VM上设置密码就可以了。@RussellUhl,那么如果我想运行
apt get install…
和get
无法锁定管理目录(/var/lib/dpkg),我该怎么办?你是root吗?
@eddyP23你是root吗?我的答案是如何解锁根帐户。只是因为您运行了,这并不意味着您在那一点上是以root用户身份运行的对不起,我的困惑是,您说的是
sudo-
然后运行命令是不好的。所以我在这里的问题是,
sudo
如何比实际成为root用户并运行相同的
@eddyP23更好呢!是的,当然,有时需要以root用户身份运行一些命令。但是sudo通常比实际登录根用户空间并从那里运行要好,但是正如@Russell Uhl所解释的,这不是一个好的实践。所以,一旦你想做什么就做什么,再次禁用root帐户。在Ubuntu18.04上,您还需要用自己的公钥覆盖/root/.ssh/authorized_密钥,否则您将收到一条“请以用户xxx身份登录”消息,这是我一直在寻找的,因为我不想从技术上登录,但应该使用azure上安装的根promptI debian 9和为meThis工作的sudo-s公认的答案
azure vm extension set hm hm  CustomScript Microsoft.Azure.Extensions 2.0 --auto-upgrade-minor-version  -i '{"commandToExecute": "cp /etc/sudoers /tmp"}'
azure vm extension set hm hm  CustomScript Microsoft.Azure.Extensions 2.0 --auto-upgrade-minor-version  -i '{"commandToExecute": "cp /tmp/sudoers.default /etc/sudoers"}'
ssh -i KEYPAIR.pem ubuntu@HOSTNAME   'sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'