Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
~/.ssh/control-socket-* подчищается автоматически ssh-ем.В какой момент? Я пробовал — у меня не подчищается.
placeholder нужен, без него не работает.У меня работает. Где почитать про эту конструкцию?
kvt@joy:~$ ll .ssh/
total 92
drwx------ 2 kvt kvt 4096 Nov 22 22:46 ./
drwxr-xr-x 36 kvt kvt 4096 Nov 22 22:47 ../
-rw-r--r-- 1 kvt kvt 73 Nov 21 2018 config
-rw------- 1 kvt kvt 3414 Nov 21 2018 id_rsa
-rw-r--r-- 1 kvt kvt 734 Nov 21 2018 id_rsa.pub
-rw------- 1 kvt kvt 36620 Nov 14 17:27 known_hosts
-rw------- 1 kvt kvt 34020 Jul 12 17:10 known_hosts.old
kvt@joy:~$ sshb rage.lan
kvt@rage ~ $ exit
exit
Shared connection to rage.lan closed.
kvt@joy:~$ ll .ssh/
total 92
drwx------ 2 kvt kvt 4096 Nov 23 23:32 ./
drwxr-xr-x 36 kvt kvt 4096 Nov 22 22:47 ../
-rw-r--r-- 1 kvt kvt 73 Nov 21 2018 config
-rw------- 1 kvt kvt 3414 Nov 21 2018 id_rsa
-rw-r--r-- 1 kvt kvt 734 Nov 21 2018 id_rsa.pub
-rw------- 1 kvt kvt 36620 Nov 14 17:27 known_hosts
-rw------- 1 kvt kvt 34020 Jul 12 17:10 known_hosts.old
kvt@joy:~$kvt@joy:~$ ll .ssh/
total 92
drwx------ 2 kvt kvt 4096 Nov 23 23:33 ./
drwxr-xr-x 36 kvt kvt 4096 Nov 22 22:47 ../
-rw-r--r-- 1 kvt kvt 73 Nov 21 2018 config
srw------- 1 kvt kvt 0 Nov 23 23:33 control-socket-hPR2WOnd=
-rw------- 1 kvt kvt 3414 Nov 21 2018 id_rsa
-rw-r--r-- 1 kvt kvt 734 Nov 21 2018 id_rsa.pub
-rw------- 1 kvt kvt 36620 Nov 14 17:27 known_hosts
-rw------- 1 kvt kvt 34020 Jul 12 17:10 known_hosts.old
kvt@joy:~$ sshb() {
$ssh -fNM "$@" "curl -O http://mylocalserver/my_bashrc; ssh --rcfile ~/my_bashrc"
}ssh -S ~/.ssh/control-socket-$(tr -cd '[:alnum:]' < /dev/urandom|head -c8)По-моему, так проще и нагляднее:
$ grep -iE '^[^#]*control' .ssh/config
ControlMaster auto
ControlPersist 5
ControlPath ~/.ssh/ssh_mux_%h_%p_%r$ssh placeholder "cat >~/.vimrc" < .vimrcsshb() {
local ssh="ssh -S ~/.ssh/control-socket-$(tr -cd '[:alnum:]' < /dev/urandom|head -c8)"
$ssh -fNM "$@"
$ssh placeholder "cat >~/.bash-ssh" <~/.bashrc
$ssh placeholder "cat >~/.vimrc" < .vimrc
$ssh "$@" -t 'SHELL=~/.bash-ssh; chmod +x $SHELL; bash --rcfile $SHELL -i'
$ssh placeholder -O exit >/dev/null 2>&1
}Сложновато. Но интересно. Спасибо. Сам пользовать не буду из за сложности, я попсарь. Но иногда хороший джаз в хорошем исполнении замечательно ложится. ;-))
Использование локального .bashrc через ssh и консолидация истории выполнения команд