我想在同一域上的两台计算机之间使用同一用户使用 SSH,但我不想输入密码。这是一个例子:
[user@pc1 ~]$ ssh pc2
如果pc1和pc2在同一个域中,使用 NIS 身份验证,并且我使用同一个用户(因为我没有指定一个)通过 SSH 登录,我希望我不必再次输入密码,因为我在pc1登录时已经这样做了。
我想在同一域上的两台计算机之间使用同一用户使用 SSH,但我不想输入密码。这是一个例子:
[user@pc1 ~]$ ssh pc2
如果pc1和pc2在同一个域中,使用 NIS 身份验证,并且我使用同一个用户(因为我没有指定一个)通过 SSH 登录,我希望我不必再次输入密码,因为我在pc1登录时已经这样做了。
在任何情况下,您都不应盲目相信网络连接就是他们所说的那样。相反,您可以做的是设置SSH 密钥。通过将公钥分配给您想要通过 SSH 连接到的所有服务器,并将私钥分配给您想要通过 SSH 连接的那些受信任的计算机,您可以获得相同的东西,并且具有一定程度的安全性。
通常你应该给私钥一个密码,以防止泄露,但如果你制作一个专门用于网络身份验证的密钥对,就足够了。
您最简单的成功之路是使用公钥。
查看您的主目录中的 .ssh 并查看您是否有 id_dsa 或 id_rsa(以及随附的 .pub 文件)。
id_dsa(或 rsa)是您的私钥。.pub 是您的公钥。这是一个文本文件,所以你可以 cat 它。
注意 - 如果您没有这些,您可以使用 ssh-keygen 命令创建它们。
在另一台机器上,cd 到 .ssh 目录,然后编辑一个名为“authorized_keys”的新文件。将 .pub 文件的内容粘贴到其中(这是一大行)。
对另一台机器做同样的事情,只是相反。
为了确保权限正确,在两台机器上运行“chmod 600 ~/.ssh/authorized_keys”。
此时,您应该能够在没有密码的情况下从一台机器 ssh 到另一台机器。
使用 SSH 密钥设置身份验证的最简单方法如下。
如果您使用 SSH 公钥/私钥(恕我直言)并且您使用某种 SSH 代理,例如,请使用标志
ssh-agent(1)
登录到 pc1 ,例如:-A
这也将允许您使用代理转发连接到其他帐户(不一定使用相同的用户名),只要您的公钥传播到给定的 accounts@hosts。
可以(取决于您的 ssh 客户端)为整个主机设置密钥,而不是为个人设置密钥。我从来没有使用过这个,但是有一些相关的链接。