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