我正在管理一个非常小的 solaris 2.6 网络,总共有 4 个盒子。是否可以使用 scp 或类似程序代替 NIS 来同步用户、组、主机等?
这个网络只是我工作的一小部分,我不想花太多时间在上面,我担心 NIS 的设置和维护不会有回报。我需要它像一个真正的多用户系统一样运行,当用户登录任何机器时,用户、密码、主机等总是相同的。
有没有一种使用 scp 的简单方法可以做到这一点?现在我使用 scp 将 /etc/passwd 从一个框复制到另一个框,但有时我会犯错误或忘记某个步骤,而且 shell 脚本中的 scp 似乎不太好用,因为它们需要密码验证。欢迎提出任何建议。
答案1
“我想和走廊尽头办公室的人通话,但那里没有电话,而且我不知道如何安装电话。在办公室之间设置绳子和纸杯的最佳方法是什么?”
除了常规 NIS 或 LDAP 之外,您提出的任何解决方案可能都“更简单”地设置,但也可能是非标准的且容易出错。考虑使用标准工具和设施来完成标准任务,而不是重新发明另一个轮子。 请想想你的继任者!
答案2
要使 scp 在脚本中工作,只需生成一个密钥对并将公钥添加到 ~/.ssh/authorized_keys 中。在客户端上运行:
ssh-keygen
或者
ssh-keygen -t rsa
从客户端复制 ~/.ssh/id_rsa.pub 文件到服务器上:
scp ~/.ssh/id_rsa.pub server:client_sshkey.pub
通过在服务器上运行来安装密钥:
mkdir ~/.ssh
cat ~/client_sshkey.pub >> ~/.ssh/authorized_keys
chmod -R g=,o= ~/.ssh
chmod g-w,o-w ~/
答案3
我可能会考虑使用类似 Puppet 的东西来自动同步 passwd/group/hosts 文件。您可能还想看看 Webmin,它有一个集群同步功能,可能也适合您的需求。使用 authorized_keys 文件可以与 scp 一起使用,但您必须手动编写脚本并跟踪可能发生的任何错误。
LDAP 是集中密码/组/主机信息的现代方法,但时间投入会比 NIS 要多,所以可能不适合您的需要。
答案4
使用 scp 和 .ssh/authorized_keys。这样 scp 就不会要求输入密码。你可以轻松地在 google 上找到它