Відповісти

Увага: ця гілка була неактивною принаймні 365 днів!
Будь ласка, подумайте про створення нової гілки, якщо ви не впевнені абсолютно, що хочете відновити обговорення тут.
Ім’я:
Електронна пошта:
Тема:
Іконка:

Код перевірки:
Будь ласка, введіть символи, вказані на малюнку
прослухати / Спробувати інший малюнок

Будь ласка, введіть символи, вказані на малюнку:

скорочення: alt+s — надіслати допис, alt+p — попередній перегляд


Стислий вміст гілки

Автор: nickat
« : 2010-07-30 23:10:05 »

Давно чув про сабж, ось видалась нагода спробувати.  Ідея: припустимо, нам
потрібно декілька SSH-з'єднань з тим самим сервером; замість того щоб створювати
для кожного з'єднання окремий SSH-сеанс, створюється один головний процес і всі
з'єднання йдуть через нього.  

Переваги: лише один handshake -- зменшення трафіку та прискорене встановлення
з'єднань.  На сервері створюється лише один процес sshd -- заощаджує ресурси.

Навіть за невеликої кількості з’єднань вже можна побачити прискорення.  Мій
скрипт виконує 8 віддалених команд.  Варіант зі спільним з'єднанням працює в 1,5
рази швидше.

micro-HOWTO:
# Створення головного процесу
ssh -N -M -S /tmp/%r@%h:%p user@example.com
(без -N працює як командна оболонка)

# Віддалена командна оболонка
ssh -o ControlPath=/tmp/%r@%h:%p user@example.com

# Віддалене виконання команди echo
ssh -n -o ControlPath=/tmp/%r@%h:%p user@example.com echo

# -O керує головним процесом
ssh -O exit -o ControlPath=/tmp/%r@%h:%p user@example.com
ssh -O check -o ControlPath=/tmp/%r@%h:%p user@example.com

Тут http://protempore.net/~calvins/howto/ssh-connection-sharing/ можна почитати,
як це все настроїти у файлі конфігурації.