设置SSH,让FreeNAS无需密码即可连接到Mac

我想发送一个ZFS数据集到运行OpenZFS的Mac。 我已经能够使用terminal将FreeNAS数据集复制到运行OpenZFS的Mac。 我做了这个使用SSH密码authentication。 我想为此设置一个FreeNAS(基于FreeBSD的NAS服务器)复制任务,但是由于没有SSH密钥设置,我得到了拒绝权限的错误。

我已经尝试在FreeNAS GUI中设置复制任务,指向我的远程Mac的IP,然后按下SSH密钥扫描button,并且它填充了一个密钥。 我尝试将该密钥文本保存到一个文件,并使用远程Mac上的ssh-add命令添加它,但它不断要求密码,我不知道。 如果我留空白,它只是结束命令(或者可能增加它,但我仍然失败)。

在我的FreeNAS服务器和运行OpenZFS的远程Mac之间使用SSH密钥需要采取哪些步骤? 我在网上find了关于如何在FreeNAS上生成SSH密钥的信息,但是我不想搞乱现有的复制任务。 也许它不会,但我不想冒险把我现有的所有复制品都拿下来,而尝试我从未做过的事情。

如果我find你的话,本质上是想从你的免费NAS ssh ssh到Mac而不需要input密码。 几步就可以做到这一点。

在免费的NAS作为将要执行SSH的用户:

 ssh-keygen -t rsa 

它将要求密码两次,按ENTER键两次。

这将生成两个文件:.ssh / id_rsa(您的私钥)和.ssh / id_rsa.pub(您的公钥以易于传输的ASCII编码方式)。

Nex在您的MAC上,您必须创build一个名为authorized_keys的文件,该文件位于用户的.ssh目录中。 把你新创build的id_rsa.pub(它只是一行)的内容放到authorized_keys中; 如果之前有authorized_keys,则追加该行。

为了更清楚,我会举个例子。 如果你在你的免费NAS,你会input

 ssh Mac -l replicate_user 

您最好在您的Mac上以replicate_user身份login并创buildauthorized_keys文件。 它应该位于replicate_users的.ssh目录中,而目录又应该位于它的主目录中。 在.ssh目录上拥有正确的访问权限是至关重要的; 如果还不存在,最简单的方法是在Mac上input“ssh-keygen -t rsa”作为replicate_user。

这就是所有你需要使SSHlogin工作,而无需input密码。

只要在.ssh目录中没有ssh密钥,创build一个新密钥就不会破坏任何东西,如果可以的话,也可以将其删除。 只是不要覆盖现有的。 如果已经有,请使用.pub内容在Mac上填充authorized_keys。

这个login无密码的东西效果很好; 只要知道,谁拥有你的id_rsa文件 – 他也可以不用密码login到Mac。

当然,您也可以使用其他密钥types而不是RSA; 你只需要给出一个键types,所以我在这个例子中使用了-t rsa。