root @ localhost的ssh连接权限被拒绝


28

我刚刚在上面安装了Ubuntu 14.04和LAMP。然后,我想配置服务器,因此尝试了教程。

当我发出命令时:

ssh root@localhost

我得到:权限被拒绝,请重试。我已经以root用户身份通过​​以下命令登录:

sudo -i

我还通过以下方式尝试了相同的操作:

sudo -s

我使用的密码与我作为用户登录时使用的密码相同,但是仍然收到相同的错误消息。

有人可以帮我吗?

PS:我调查了这个问题,但似乎对我没有用。

Answers:


57

缺省情况下,SSH服务器拒绝root用户基于密码的登录。在中/etc/ssh/sshd_config,更改:

PermitRootLogin without-password

PermitRootLogin yes

并重新启动SSH:

sudo service ssh restart

或者,您可以使用SSH密钥。如果您没有,请使用创建一个ssh-keygen(使用密钥的默认值,并根据需要跳过密码)。然后执行sudo -s(或使用您成为root的首选方法),并将SSH密钥添加到/root/.ssh/authorized_keys

cat /home/user/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

我收到此错误:cat:/home/user/.ssh/id_rsa.pub:没有这样的文件或目录。
vnay92

啊。抱歉。我以为您有SSH密钥。以您的用户ssh-keygen身份进行操作(如果需要,请跳过SSH密钥的密码,其余部分使用默认值)来创建一个。另外,我希望您将其替换user为实际的用户名。
大师

两种方法都不适合我!我什至检查了我的主文件夹。它是空的。我该怎么办?
Heich-B

5

在某些情况下,更改后

PermitRootLogin yes

必须检查此配置:

DenyUsers root
AllowUsers saeid

并启用登录必须更改为:

#DenyUsers root
AllowUsers root OtherUser

4

如果您尚未提供root密码,而您正尝试在spark或haddop上触发命令,例如./sbin/stop-all.sh or./sbin/start-all.sh。如果您没有root密码,则可以使用

sudo passwd

和射击命令。


1

我有类似的问题。我需要两台PC一台在Ubuntu上,另一台在Arch上,以通过Unison同步文件,但是遇到了相同的权限被拒绝错误。只是为了那些和我一样存在同样问题的人,这是我做的:

第一:在两台PC上安装相同版本的Unison。这有点挑战,因为软件中心上提供的功能落后于Arch容易获得的功能。因此,我找不到适用于Ubuntu的更高版本,所以我用较低的版本代替了Arch上的版本。在这里找到一个:http: //zdia.de/downloads/unison-2.40.102-linux-x86_64。Ubuntu的软件中心中有相同的版本。

第二:从此处开始执行以下步骤:https : //www.howtoforge.com/setting-up-unison-file-synchronization-between-two-servers-on-debian-squeeze (注意:Arch是我的服务器1,Ubuntu是我的服务器2.)

在尝试ssh复制时,我在步骤3中遇到了问题。但是,通过在“ ssh-copy-id -i $ HOME / .ssh / id_dsa.pub root@192.168.0.101”行中将“ id_dsa.pub”更改为“ id_rsa.pub”来解决。可能是我的错,因为我认为我忘记添加“ -t dsa”。无论如何,请先尝试原始命令。如果你得到一个错误,然后更改为RSA。

完成上述步骤后,我发现我仍然无法使Unison连接到另一台服务器,我也不能通过ssh登录(没有Unison)到另一台服务器。最终,经过数小时的Google搜索,我被带到了该页面,而我的Muru给了我答案,这笔交易达成了。

应用后,我现在可以通过SSH登录服务器2。

因此,我运行了Unison,并更正了配置文件设置和中提琴!

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.