在本地安装所有被管理的远程服务器的根文件系统会消除共享点文件的需要吗?

use*_*159 2 ssh configuration shell nfs samba

我通过 SSH 管理了大约 10 个远程服务器,我通常只是通过 SSH 连接到每个服务器来执行远程管理任务。这要求我在每台服务器上复制我的许多点文件(如 .zshrc、.vimrc),以便我在每个服务器上都有统一的体验。因此,对这些文件之一进行更改意味着将其分发到所有服务器(最坏的情况是手动,最好的情况是使用诸如 Ansible 之类的配置工具)。

但是,如果我要使用 NFS、SSHFS、Samba 或其他东西将所有这些服务器的根文件系统挂载到我的本地工作站上(例如 /mnt/servers/server1/、/mnt/servers/server2/ 等) ,那么这会消除在这些服务器中的每一个之间共享和复制点文件的需要吗?

因为我使用的是本地 shell 和 Vim,所以只使用了本地 .zshrc 和 .vimrc。如果我需要在 server3 上编辑 /etc/hosts,我会从我的本地工作站 'vi /mnt/servers/server3/etc/hosts' 编辑主机文件。

这会消除在我管理的所有服务器之间同步我的点文件的需要吗?

Dan*_*ner 6

对于您正在尝试做的事情,这是一种不好的做法。首先,您不应该经常对服务器进行 ssh-ing,这样您就需要在远程主机上使用 .vimrc 和 .zshrc。生产机器大多需要在紧急情况下登录,即使这样所有的工作都是用root完成的。

其次,如果您仍然需要这样做,您可以使用 ssh 客户端配置文件“~/.ssh/config”来完成它。

把它放在你"~/.ssh/config"不断连接的客户端上:

猫 ~/.ssh/config

Host *
  PermitLocalCommand yes
  LocalCommand scp /home/my_username/.*rc my_username@%h:/home/my_username/
Run Code Online (Sandbox Code Playgroud)

这会将您的 ~/.*rc 文件复制到您通过 ssh 连接到的每台服务器。但同样,它不是安全且不可取的使用解决方案。