如何为 root 公钥 ssh 配置 Ubuntu 16.04 服务器

如何为 root 公钥 ssh 配置 Ubuntu 16.04 服务器

我正在尝试配置我的 Ubuntu 16.04 服务器,以便我可以以 root 身份通过公钥 ssh 连接到它。我有许多以这种方式配置的 Ubuntu 14.04 服务器,它们运行良好。在我的 Ubuntu 16.04 服务器上,即使我传递的是公钥,它也会要求我输入密码。

以下是我的 sshd_config 文件的设置方式;

PermitRootLogin prohibit-password

StrictModes yes

RSAAuthentication yes

PubkeyAuthentication yes

IgnoreRhosts yes

RhostsRSAAuthentication no

HostbasedAuthentication no

PermitEmptyPasswords no

ChallengeResponseAuthentication no

这是我尝试 ssh 时 ssh -vvv 的输出;

debug3: authmethod_is_enabled publickey

debug1: Next authentication method: publickey

debug1: Offering RSA public key: /root/.ssh/id_rsa

debug3: send_pubkey_test

debug3: send packet: type 50

debug2: we sent a publickey packet, wait for reply

debug3: receive packet: type 51

debug1: Authentications that can continue: publickey,password

debug1: Trying private key: /root/.ssh/id_dsa

debug3: no such identity: /root/.ssh/id_dsa: No such file or directory

debug1: Trying private key: /root/.ssh/id_ecdsa

debug3: no such identity: /root/.ssh/id_ecdsa: No such file or directory

debug1: Trying private key: /root/.ssh/id_ed25519

debug3: no such identity: /root/.ssh/id_ed25519: No such file or directory

debug2: we did not send a packet, disable method

debug3: authmethod_lookup password

debug3: remaining preferred: ,password

debug3: authmethod_is_enabled password

debug1: Next authentication method: password

为什么它尝试除我正在使用的 /root/.ssh/id_rsa 之外的所有私钥?

此外,非 root 用户可以毫无问题地使用公钥 ssh,因此这一定是 root 用户特有的。

任何帮助都将不胜感激!提前致谢!

这是我的文件权限;

服务器:

drwx------ 2 root root 4096 8月19日 07:48 ../.ssh

drwx------ 2 root root 4096 8 月 19 日 07:48。

drwx------ 4 root root 4096 8月19日 08:19 ..

-rw------- 1 root root 400 8月19日 07:48 authorized_keys

-rw------- 1 root root 888 8月18日 10:58 known_hosts

客户:

drwx------ 2 root root 4096 8月19日 07:47 ../.ssh

drwx------ 2 root root 4096 8 月 19 日 07:47。

drwx------ 3 root root 4096 8月19日 07:54 ..

-rw------- 1 root root 1675 8月 19 07:47 id_rsa

-rw-r--r-- 1 root root 400 8月19日 07:47 id_rsa.pub

-rw------- 1 root root 444 8月18日 09:56 known_hosts

答案1

我终于弄清楚了导致问题的原因。由于服务器上的 sshd_config 文件包含条目 ServerKeyBits 1024,因此我必须以 1024 位创建密钥,ssh-keygen -t rsa -b 1024。

无论如何,感谢您的考虑。

相关内容