没有密码就无法 ssh 到服务器

没有密码就无法 ssh 到服务器

我有两台虚拟机,我希望它们通过 ssh 相互运行远程命令。我在第一台机器上运行这些命令:

ssh-keygen -t rsa
ssh-copy-id 192.168.254.148

然后我运行了这个命令,它没有要求输入密码:

[root@fazi1 data1]# ssh [email protected] df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       7.7G  893M  6.5G  12% /
tmpfs           1.5G   16K  1.5G   1% /dev/shm
/dev/sda1       194M   41M  144M  22% /boot
/dev/sda2        11G  7.7G  2.4G  77% /data1
/dev/sda7       4.5G  539M  3.8G  13% /data2
/dev/sda5       7.7G  1.4G  6.0G  19% /opt

我在第二台机器上运行这些命令:

ssh-keygen -t rsa
ssh-copy-id 192.168.254.150

当我想检查它是否有效时:

[root@fazi2 data1]# ssh [email protected] df -h
[email protected]'s password:

为什么它在第一台机器上按照我想要的方式工作,而在第二台机器上表现不同?

我应该怎么办? (我运行了这些命令几次,以确保我没有输入错误的密码。)

答案1

如果我没记错的话,如果root登录被禁用.150,即你有

PermitRootLogin no

在 中/etc/sshd/sshd_config,它将拒绝所有密钥,并且如果原则上允许的话,可能会进行密码身份验证。 (它还会拒绝所有密码,即使是正确的密码。)

运行会给你一个非常详细的输出,告诉你可能会出现什么问题。您将在等中看到您的密钥行,并且您可以查看您的客户端是否将它们提供给服务器,以及服务器是否喜欢它们。如果您不提供,则可能是客户端的权限问题,如果服务器拒绝它们,则它们要么不在远程端(但应该给您一个错误,要么服务器不提供)允许 root 登录。ssh -vvv [email protected] false/root/.ssh/id_rsaauthorized_keysssh-copy-id

相关内容