Вызывать локальную команду при каждом успешном соединении при использовании ssh-мультиплексирования?
Я хотел бы автоматически запускать команду каждый раз, когда я успешно подключаюсь к удаленному хосту через ssh.
Я могу сделать это для первого подключения к каждому хосту, используя PermitLocalCommand yes
и LocalCommand ~/bin/ssh-notify-me
запись по моему ~/.ssh/config
, похоже на этот ответ, но я также использую довольно агрессивную конфигурацию SSH мультиплексирования (примерно следующий):
Host * PermitLocalCommand yes ServerAliveCountMax 2 ServerAliveInterval 5 ControlPath ~/.ssh/mux/%r@%h:%p ControlMaster auto ControlPersist 1h
При такой настройке LocalCommand выполняется только для первого соединения до того, как существует управляющий / мультиплексированный сокет. После этого я подключаюсь, но команда не запускается.
Есть ли способ (без отключения мультиплексирования), чтобы убедиться, что LocalCommand или какой-либо эквивалент происходит для каждого нового открытого интерактивного сеанса?
Оборачивание ssh
бинарного файла либо в функцию оболочки, либо в сценарий кажется неэффективным, потому что он не может знать, было ли соединение успешным, до тех пор, пока он не завершится
0 ответов на вопрос
Похожие вопросы
-
2
.profile в Mac OS X?
-
6
Какие функции Zsh вы используете?
-
5
Прозрачная командная строка в Vista?
-
-
4
Используйте портфель Windows из командной строки
-
4
Почему некоторые команды не существуют?
-
11
Есть ли простой способ разделить mp3 файлы?
-
2
Как я могу получить OSX Terminal.app для открытия полноэкранного режима, а не каскадного?
-
4
Синхронизация удаленных папок в Linux
-
6
Полноэкранная командная строка или замена Vista
-
6
Хорошее руководство по PowerShell, начало работы с более продвинутым использованием