无法对远程计算机进行无密码访问!

无法对远程计算机进行无密码访问!

当我跑步时

ravbholua@ravbholua-Aspire-5315:~$ rlogin 109.202.101.166

它提示我输入密码,如下所示:

ravbholua@ravbholua-Aspire-5315:~$ rlogin 109.202.101.166
[email protected]'s password:

为了实现无密码访问,我在远程计算机 (ravi.com) 中创建了一个文件 /etc/hosts.equiv,如下所示:

root@ravi:/etc# cat hosts.equiv
localhost
42.110.54.211
root@ravi:/etc#

但每当我运行上述命令登录到这台远程计算机时,它仍然要求输入密码。

此外,我还在远程计算机的主目录中的相同帐户中创建了 .rhosts 文件。如下:

ravbholua@ravi:~$ cat .rhosts
localhost
42.110.54.211
ravbholua@ravi:~$

我无法进行无密码访问可能是什么问题。

需要注意的重要一点:要知道我的互联网 IP 地址是什么,我从以下两个网站获得(两者都提供了相同的 IP 地址)

http://www.ipchicken.com/
http://whatismyip.org/

您可以参考下面的链接,我曾提出相同的问题,但未能得到解决。 无法免密码访问远程机器


编辑:我跑了:

ravbholua@ravbholua-Aspire-5315:~$ sudo scp ~/.ssh/id_rsa.pub rs:.ssh/authorized_keys

与没有 sudo 一样,它会显示消息:权限被拒绝。然后我都尝试了

sudo ssh rs

ssh rs 

仍然提示我输入密码。输入密码后,我进入了远程服务器,发现 /root/.ssh 中传输的文件如前所示。

root@ravi:~/.ssh# ls                             
authorized_keys known_hosts                                      
root@ravi:~/.ssh# 

请注意 rs 是我的远程服务器的别名。

答案1

您还可以使用SSH配置远程计算机的无密码登录。

它只是(在计算机a上):

$ ssh-keygen # use an empty password!
$ scp ~/.ssh/id_rsa.pub computer_b:.ssh/authorized_keys

就是这样。

现在你可以做一个

$ ssh computer_b

无需输入密码。

您可以选择配置以下内容:

  • Computer_b 的主机别名,例如能够输入ssh alias
  • 将公钥身份验证设置为该主机/别名的默认值
  • 仅允许公钥身份验证(对于computer_b 上的 sshd)

除非你不能使用ssh,否则设置起来似乎比rlogin方便得多。

另外,ssh 可以保护您免受主要中间人攻击窃听

故障排除

确保具有~/.ssh正确的权限(在两个系统上) - 即只能由您的用户访问 - 否则 ssh 会忽略它。这意味着仅rwx------适用于目录和rw-------文件。使用ls -lls -ld来验证这一点。

确保遥控器~/.ssh/authorized_keys包含正确的公钥。验证通过:

$ ssh computer_b cat '~/.ssh/authorized_keys' # remote
$ cat ~/.ssh/id_rsa.pub # local

如果设置不能像这样工作,也许您必须显式配置客户端,即添加如下内容.ssh/config

Host computer_b
Hostname some_hostname
User juser
PreferredAuthentications publickey # makes testing easier
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa.pub

-v对于诊断问题,添加调用也很有用ssh,例如:

$ ssh -v computer_b

相关内容