Устранит ли локальное монтирование корневых файловых систем всех удаленных серверов необходимость совместного использования файлов точек?

У меня есть около 10 удаленных серверов, управляемых через SSH, и я обычно просто использую SSH для каждого из них для задач удаленного управления. Это требует от меня дублирования многих моих файлов точек (например,.zshrc, .vimrc) на каждом сервере, чтобы у меня был одинаковый опыт работы на каждом из них. Поэтому внесение изменений в один из этих файлов означает распространение его на все серверы (в худшем случае, вручную, а в лучшем случае - с помощью инструмента обеспечения, такого как Ansible).

Но если бы мне нужно было смонтировать корневые файловые системы всех этих серверов на моей локальной рабочей станции (например, в /mnt/servers/server1/, /mnt/servers/server2/ и т. Д.), Используя что-то вроде NFS, SSHFS, Samba или что-то еще Тогда устранит ли это необходимость совместного использования и копирования файлов точек на каждом из этих серверов?

Потому что я использую свою локальную оболочку и Vim, поэтому привыкли только мои локальные.zshrc и.vimrc. Если мне нужно отредактировать / etc / hosts на сервере3, я делаю это с моей локальной рабочей станции 'vi /mnt/servers/server3/etc/hosts', чтобы отредактировать файл hosts.

Устранит ли это необходимость синхронизации моих файлов точек на всех серверах, которыми я управляю?

2 ответа

Решение

Это плохая практика того, что вы пытаетесь сделать. Во-первых, вы не должны так часто подключаться к серверам, чтобы вам требовались ваши.vimrc и.zshrc на удаленных хостах. Производственные машины должны входить в систему в аварийной ситуации, и даже тогда вся работа выполняется с правами root.

Во-вторых, если вам все еще нужно это сделать, вы можете выполнить это, используя файл конфигурации клиента ssh "~/.ssh/config".

Поместите это в свой "~/.ssh/config" на клиенте вы постоянно подключаетесь с:

cat ~ /.ssh / config

Host *
  PermitLocalCommand yes
  LocalCommand scp /home/my_username/.*rc my_username@%h:/home/my_username/

Это скопирует ваши ~/.*rc файлы на каждый сервер, к которому вы подключаетесь. Но опять же это небезопасное и желательное решение для использования.

Я храню свои точечные файлы в репозитории git вместе со скриптом, который управляет символическими ссылками на них. В моем файле профиля (который получен при входе в систему) я запускаю git pull и этот сценарий.

Другие вопросы по тегам