如何在Ubuntu 14.04上启用SSH根访问


136

我想ssh在Ubuntu 14.04上启用root访问。编辑/etc/ssh_config(PermitRootLogin yes)没有任何影响。

Answers:


206

对于Ubuntu 14.04 Server,仅为root添加密码是不够的。

您还需要编辑/etc/ssh/sshd_config,并注释掉以下行:

PermitRootLogin without-password

在它的下面,添加以下行:

PermitRootLogin yes

然后重新启动SSH:

service ssh reload

对于Ubuntu 16.04.1,LTS(GNU / Linux 4.4.0-59-通用x86_64)PermitRootLogin without-password已替换为PermitRootLogin prohibit-password


10
通过ssh执行此service ssh reload操作时很有用。
TorstenRömer2014年

我在VM上运行Ubuntu,但是,直到我重新启动VM一次,我才知道这些更改没有起作用(可能除了上述步骤之外,我还需要停止/启动网络服务,但是我不确定)。
VSB 2014年

2
我必须这样做,PermitRootLogin yes因为我拥有简单的密码
JorgeeFG 2015年

1
如果在ssh或scp告诉您“权限被拒绝,请重试”时在另一个窗口中执行此操作,请退出并重试该ssh(或scp),而不仅仅是重新输入密码。
卡米尔·古德塞内

1
同样不要忘记检查sshd_config中是否提到了root:AllowUsers root
Jan

38

您需要为根帐户设置一个密码,然后它将起作用。

sudo passwd

输入两次相同的密码。

PS修改/ etc / ssh / sshd_config后,不要忘记重新加载openssh服务器。

sudo service ssh reload

2
这将起作用;但对于OP:请三思而后行。如果仍然这样做,并且您的PC已连接fail2ban到Internet,请考虑将其添加到系统中。(此注释与通过ssh启用root登录有关;是否具有root用户本地密码只是一个问题。)
Rmano 2014年

25

使用Ubuntu 14.04 Server。

设定密码

sudo passwd

/ etc / ssh / sshd_config中的更改

更改PermitRootLogin

PermitRootLogin yes

您可能还需要检查PasswordAuthentication的值。如果设置为否,则设置为是

PasswordAuthentication yes

然后重新启动SSH:

service ssh restart


5
这是唯一完整的答案。其他答案缺少一部分。
wisbucky

除了我的没有这条线。添加它不能使其正常工作。
SDsolar

天哪,是的!!谢谢!PasswordAuthentication是丢失的链接
mpen

我清除了两个系统(Kali Linux和Ubuntu 18)上的openssh-service和openssh-client,重新安装了它们,应用了此答案,一切都运行良好。
mk1024 '18

在我的sshd_config中,因为它具有“ UsePam yes”和一行“ DenyGroups root”,所以除了上述所有操作外,我还需要删除DenyGroups的“ root”以使其正常工作。
Flickerlight

3

对于14.04,您必须在/ etc / ssh / sshd_config中的行下方注释

#StrictModes yes

3
与其禁用文件模式检查,不如确保/root/.sshroot用户没有其他用户可以读取其中的文件,而不是禁用文件模式检查。
阿达芬2014年

-1

对我来说,这些步骤都不起作用,我什至尝试了一些我从未尝试过的东西,然后是玩具虚拟机: PermitRootLogin without-password

唯一对我有用的是为此禁用PAM模块:

UsePAM no

此选项通常位于文件的末尾。老实说,我不知道这样做的真正弊端,但是由于您不应该允许root用户在线登录,因此我认为对于私有dev-vm来说还可以。

不过,请始终设置一个强密码。不,这也不例外。不仅是这次 ...


5
PermitRootLogin without-password这并不意味着root用户无需身份验证即可登录。这意味着不允许root用户使用密码登录。而是,root用户必须使用更安全的RSA密钥登录。
Craig

@Craig我要指的问题是不是root需要使用RSA SSH密钥。问题在于,root用户是每个敲响SSH服务器大门的用户,都知道存在。我认为这不是一件好事。但是请允许通过SSH进行root登录,但是正如您所说的,至少要确保它使用密钥来登录!
Kjellski

4
您说过PermitRootLogin without-password,除了玩具虚拟机之外,您不会尝试其他任何东西。这就是用来禁用root用户密码验证的方法,因此root用户可以登录的唯一方法是使用RSA密钥。您没有声明使用 RSA密钥尝试了该选项。如果您尝试不带键的该选项,则它不可能成功。如果使用PermitRootLogin without-password,则根本无法使用密码验证登录,完全不能使用强密码,空密码登录。
克雷格(Craig)2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.