ssh + локальные переменные/конфиги.

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

ssh + локальные переменные/конфиги.

Сообщение SLEDopit »

Что-то число машин, с которыми нужно работать постоянно растёт и я всё чаще задаюсь вопросом:
А как постоянно при себе держать последнюю версию своего настроенного рабочего окружения?

В процессе копания в манах ssh'а обнаружил только возможность проброса локальных переменных (что, впрочем, тоже немаловажно). Но мне же интересно пробросить так ж и локальные конфиги vim'a, shell'a и т.д.

Постоянно копировать, перед логином все эти настройки неинтересно. Хотя и можно сделать alias на ssh таким, чтобы он перед коннектом заливал туда все необходимые настроечные файлы, такой подход мне кажется совсем не юниксвейным.

Потом я подумал о github'e. Запихать туда все конфиги, и прописать в .bash_login команду на синкание с ним.

Следующей идеей было что-то типа puppet'a, что само будет везде разливать конфиги по мере изменения. Однако это ж надо редактировать и его конфиг. Нет, уж лучше github.

А как решаете эту проблему Вы? (и вообще решаете ли? (: )
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: ssh + локальные переменные/конфиги.

Сообщение watashiwa_daredeska »

SLEDopit писал(а): ↑
07.11.2011 12:22
А как решаете эту проблему Вы?
git + репозиторий на своем сервере. Обновляю вручную, мне хватает.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: ssh + локальные переменные/конфиги.

Сообщение sash-kan »

watashiwa_daredeska писал(а): ↑
07.11.2011 13:26
SLEDopit писал(а): ↑
07.11.2011 12:22
А как решаете эту проблему Вы?
git + репозиторий на своем сервере. Обновляю вручную, мне хватает.
аналогично·
пара веток есть — для конфликтющих конфигураций (из-за ~/.ssh/config, обходного варианта пока не придумал):

ах, да, git.home — это alias (тоже через репозиторий определяется):
$ alias git.home='git --git-dir=/home/al/.git.home/'
и для bash-completion-а (и он тоже в этом репозитории):
$ cat ~/.bash_completion
complete -o filenames -F _longopt ll la l # это для комплишена после коротких алиасов ll la l
complete -o bashdefault -o default -o nospace -F _git git.home \
2>/dev/null || complete -o default -o nospace -F _git git.home

а вот процедура разворачивания на новой машине у меня не очень удобная (временное решение так и осталось постоянным):
1. клонирую как bare-репозиторий
$ git clone --bare ssh://some.server/~al/var/gits/home.git/ ~/.git.home
2. подправляю "bare=fales" в ~/.git.home/config
3. $ git --git-dir=/home/al/.git.home/ pull
4. $ git --git-dir=/home/al/.git.home/ checkout
скорее всего, потребуется переименование обновляемых файлов·
по крайней мере, ~/.bashrc
последнюю команду выполняю, пока не перестанет ругаться на перезаписываемые файлы (удаляя/переименовывая конфликтные файлы)
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: ssh + локальные переменные/конфиги.

Сообщение watashiwa_daredeska »

sash-kan писал(а): ↑
07.11.2011 16:38
$ alias git.home='git --git-dir=/home/al/.git.home/'
А есть какой-нибудь плюс от использования нестандартного GIT_DIR? Я вот долго думал и не придумал :)
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: ssh + локальные переменные/конфиги.

Сообщение sash-kan »

watashiwa_daredeska писал(а): ↑
07.11.2011 17:58
sash-kan писал(а): ↑
07.11.2011 16:38
$ alias git.home='git --git-dir=/home/al/.git.home/'
А есть какой-нибудь плюс от использования нестандартного GIT_DIR? Я вот долго думал и не придумал :)
паранойя, сэр·
уже обсуждали как-то·

p.s. кстати, если б можно было, подключаясь по ssh, сразу попасть в какой-нибудь каталог, отличный от ~/, можно было бы совсем распараноиться…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: ssh + локальные переменные/конфиги.

Сообщение SLEDopit »

sash-kan писал(а): ↑
07.11.2011 18:03
.s. кстати, если б можно было, подключаясь по ssh, сразу попасть в какой-нибудь каталог, отличный от ~/, можно было бы совсем распараноиться…
А прописать в какой-нибудь ~/.bashrc или общесистемный bash.bashrc не подходит?
ps Только в чем тайный смысл такой штуки?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: ssh + локальные переменные/конфиги.

Сообщение watashiwa_daredeska »

SLEDopit писал(а): ↑
08.11.2011 11:25
А прописать в какой-нибудь ~/.bashrc или общесистемный bash.bashrc не подходит?
Тогда уж в ~/.ssh/rc — он выполняется даже перед командами, а не только при интерактивном входе.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: ssh + локальные переменные/конфиги.

Сообщение sash-kan »

я расплывчато написал·
попасть в _указанный_ каталог·
что-то типа:
$ ssh --to-dir some.dir user@host
потому как
$ ssh user@host bash -c 'cd some.dir; bash'
всё равно приводит в домашний каталог·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: ssh + локальные переменные/конфиги.

Сообщение SLEDopit »

sash-kan писал(а): ↑
08.11.2011 13:04
ssh --to-dir some.dir user@host
Так это совсем просто:

Код: Выделить всё

ssh host -t 'cd /dir ; bash'
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: ssh + локальные переменные/конфиги.

Сообщение watashiwa_daredeska »

sash-kan писал(а): ↑
08.11.2011 13:04
я расплывчато написал·
попасть в _указанный_ каталог·
Ну, пробрасывай каталог в переменных среды, а в .ssh/rc делай cd. Не?

sash-kan писал(а): ↑
08.11.2011 13:04
$ ssh user@host bash -c 'cd some.dir; bash'
всё равно приводит в домашний каталог·
ssh -t user@host 'cd some.dir; bash' УМР. Хотя, это не совсем то же самое, что нормальный логин. Для имитации логина при запуске команд у меня есть скриптик rwp (run-with-profile):

Код: Выделить всё

#!/bin/sh

if [ -f $HOME/.profile ]; then
    . $HOME/.profile
elif [ -f $HOME/.bash_profile ]; then
    . $HOME/.bash_profile
fi

exec "$@"
С ним будет так: ssh -t user@host rwp sh -c '"cd some.dir; exec bash"' (обрати внимание на двойное квотирование — у твой команды в этом проблема).
Этот rwp можно запихать и в .ssh/rc, если надо.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: ssh + локальные переменные/конфиги.

Сообщение sash-kan »

watashiwa_darede... писал(а): ↑
08.11.2011 13:22
ssh -t user@host 'cd some.dir; bash'
ага, так сработало·
watashiwa_darede... писал(а): ↑
08.11.2011 13:22
Ну, пробрасывай каталог в переменных среды, а в .ssh/rc делай cd
тоже вариант·
но требует перенастройки sshd на целевой машине·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: ssh + локальные переменные/конфиги.

Сообщение watashiwa_daredeska »

sash-kan писал(а): ↑
07.11.2011 18:03
паранойя, сэр·
уже обсуждали как-то·
Что-то я никак не могу найти обсуждение. О какой паранойе речь-то, не напомнишь?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: ssh + локальные переменные/конфиги.

Сообщение sash-kan »

watashiwa_daredeska писал(а): ↑
08.11.2011 13:25
sash-kan писал(а): ↑
07.11.2011 18:03
паранойя, сэр·
уже обсуждали как-то·
Что-то я никак не могу найти обсуждение. О какой паранойе речь-то, не напомнишь?
вроде, где-то тут: dotfiles и mercurial
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
BIgAndy
Сообщения: 1923

Re: ssh + локальные переменные/конфиги.

Сообщение BIgAndy »

clusterssh
mussh
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: ssh + локальные переменные/конфиги.

Сообщение watashiwa_daredeska »

sash-kan писал(а): ↑
08.11.2011 19:39
вроде, где-то тут: dotfiles и mercurial
Ага, нашел твой ответ:
sash-kan писал(а): ↑
22.12.2010 13:54
да, необязательно. мне просто захотелось проверить: сложно ли так сделать. ну, чтоб и completion работал. оказалось — просто.
И никакой паранойи :)
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: ssh + локальные переменные/конфиги.

Сообщение sash-kan »

BIgAndy писал(а): ↑
08.11.2011 20:40
clusterssh
mussh
вы забыли ещё парочку·
но какое отношение они имеют к вопросу
SLEDopit писал(а): ↑
07.11.2011 12:22
как постоянно при себе держать последнюю версию своего настроенного рабочего окружения
?

watashiwa_darede... писал(а): ↑
08.11.2011 20:50
И никакой паранойи
обсуждалось-обсуждалось·
про то, как _ещё_ больше застраховаться от своих ошибок·
только слово «паранойя», кажется, не фигурировало·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: