我正在管理一个非常小的 solaris 2.6 网络,总共有 4 个盒子。是否可以使用 scp 或类似的东西来代替 NIS 来同步用户、组、主机等?
这个网络只是我工作的一小部分,我不想花太多时间在上面,我担心 NIS 的设置和维护不会有回报。我需要它表现得像一个适当的多用户系统,当用户登录任何机器时,用户、密码、主机等总是相同的。
有没有一种简单的方法可以用 scp 做到这一点?现在我使用 scp 将 /etc/passwd 从一个盒子复制到另一个盒子,但有时我会出错或忘记一步,并且 shell 脚本中的 scp 似乎不能很好地工作,因为它们需要密码验证。欢迎任何建议。
除了普通的 NIS 或 LDAP 之外,您提出的任何解决方案都可能设置起来“更简单”,但也可能是非标准的且容易出错。考虑使用标准工具和设施来完成标准任务,而不是重新发明另一个轮子。 请想想你的继任者!
要使 scp 在脚本中工作,只需生成一个密钥对并将公钥添加到 ~/.ssh/authorized_keys 中。在客户端运行:
或者
从服务器上的客户端复制 ~/.ssh/id_rsa.pub 文件:
通过在服务器上运行安装密钥:
我可能会看类似 Puppet 的东西来自动同步 passwd/group/hosts 文件。您可能还想查看 Webmin,它具有集群同步功能,也可能满足您的需求。使用 authorized_keys 文件可以与 scp 一起使用,但您必须手动编写脚本,并跟踪可能发生的任何错误。
LDAP 是集中密码/组/主机信息的现代方式,但时间投资会比 NIS 更多,因此它可能不适合您的需要。
设置 NIS Master大约需要两页,包括使用的文件列表。 设置 NIS 客户端不到一页(执行摘要:运行 'ypinit -c')。这确实是最简单的方法,并且适用于 98% 的 Solaris 商店。
将 scp 与 .ssh/authorized_keys 一起使用。然后 scp 不会要求输入密码。你可以很容易地用谷歌搜索它