如何让 root 账户生成可接受的 ssh 密钥?

如何让 root 账户生成可接受的 ssh 密钥?

在一台 Ubuntu 机器上我做了以下操作:

~$ sudo su -
[sudo] password for jamie:
root@mydomain:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
12:34:56:78:9a:bc:de:f0:12:34:56:78:9a:bc:de:f0 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
+-----------------+
root@mydomain:~# cat /root/.ssh/id_rsa.pub | ssh -p 443 [email protected] 'cat > ~/.ssh/authorized_keys'
[email protected]'s password:
root@mydomain:~# ssh [email protected]
[email protected]'s password:

它要求我输入密码。

但是,使用常规帐户可以进行以下操作:

$ cd ; ssh-keygen -t rsa ; cat ~/.ssh/id_rsa.pub | ssh [email protected] 'cat >> ~/.ssh/authorized_keys'
$ ssh [email protected]
Last login: Thu Oct 24 14:48:41 2013 from 173.45.232.105
[[email protected] ~]$ 

这使我相信这不是authorized_keys对抗authorized_keys2或权限的问题。

为什么'root'账户无法访问远程'jamie'账户?

如果相关的话,远程机器是 CentOS。

答案1

答案在这里:https://askubuntu.com/a/90465/14447

可能应该将这个问题标记为相同的重复。

答案2

尝试以详细模式运行 ssh。我发现这通常会提供有关正在发生的事情的线索。

检查目标机器上 .ssh 目录的安全性。如果任何目录是所有人或群组可写的,这可能会导致 ssh 拒绝访问您的授权密钥文件。我相信 .ssh 目录肯定是群组或所有人无法访问的。

尝试在远程创建一个密钥文件,并将公钥添加到 authorized_keys 文件中。ssh localhost先开始工作,然后尝试远程访问。

您可以.ssh/config在 root 上配置文件来为您添加用户。类似下面的操作应该有效:

主机远程
    主机名 remote.server.box
    用户=jamie

相关内容