Ssh

本地掛載所有遠端伺服器的根文件系統會消除共享點文件的需要嗎?

  • January 17, 2014

我通過 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”來編輯主機文件。

這會消除在我管理的所有伺服器上同步我的點文件的需要嗎?

對於您正在嘗試做的事情,這是一種不好的做法。首先,您不應該經常 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/

這會將您的 ~/.*rc 文件複製到您 ssh 到的每個伺服器。但同樣,它不是安全且理想的使用解決方案。

引用自:https://serverfault.com/questions/567266