我想在同一个域中同一个用户的两台计算机之间使用 SSH,并且不想输入密码。以下是示例:
[user@pc1 ~]$ ssh pc2
如果pc1和电脑2在同一个域中,使用 NIS 身份验证,并且我使用同一个用户通过 SSH 登录(因为我没有指定密码),我希望我不必再次输入密码,因为我在登录时已经输入过密码pc1。
答案1
最简单的成功途径是使用公钥。
查看主目录中的 .ssh 下是否有 id_dsa 或 id_rsa(以及附带的 .pub 文件)
。id_dsa(或 rsa)是您的私钥。.pub 是您的公钥。它是一个文本文件,因此您可以 cat 它。
注意 - 如果您没有这些,您可以使用 ssh-keygen 命令创建它们。
在另一台机器上,进入 .ssh 目录,编辑一个名为“authorized_keys”的新文件。将 .pub 文件的内容粘贴到其中(全部是一行)。
对另一台机器执行相同的操作,只需相反操作即可。
为了确保权限正确,请在两台机器上运行“chmod 600 ~/.ssh/authorized_keys”。
此时,您应该能够从一台机器通过 ssh 连接到另一台机器,且无需密码。
答案2
在任何情况下,你都不应该盲目地相信网络连接的真实性。相反,你可以设置SSH 密钥。通过将公钥分发给所有要 SSH 的服务器进入以及要通过 SSH 连接到的受信任计算机的私钥从,只要付出一定数额的保证金,你就能得到同样的东西。
通常,您应该为私钥设置密码,以防止泄露,但如果您专门为网络身份验证创建密钥对,就足够了。
答案3
使用 SSH 密钥设置身份验证的最简单方法如下。
cd ~
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub [email protected]
答案4
可以(取决于您的 ssh 客户端)为整个主机设置密钥,而不是为个人设置密钥。我从未使用过这种方法,但有一些相关链接。