Страница 1 из 1

6 безопасных хаков для ускорения работы с SSH

Добавлено: 05 сен 2026, 16:25
ya
☠️ Твой ControlMaster не работает? Исправляем ошибки и ускоряем SSH

Тратишь время на авторизацию ради одной команды, а скрипты гоняешь через кривые конструкции? Многие мануалы содержат ошибки: передача команд через cat ломает кавычки, а ControlMaster=no убивает мультиплексирование. Держи 6 безопасных хаков для ускорения работы с SSH.

Выполнение команд без сессии

# Выполнить одну команду и сразу отключиться (удобно для скриптов).

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

ssh user@host df -h
# Безопасное выполнение списка команд из локального файла.
# Вместо ломающего кавычки cat — кормим скрипт прямо в удалённый bash:

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

ssh user@host "bash -s" < commands.txt

Редактирование без входа на сервер

# Открыть удалённый файл в ЛОКАЛЬНОМ vim по scp. Требует плагина netrw (в комплекте vim).
# Обрати внимание на ДВА слеша: // = абсолютный путь от корня.

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

vim scp://user@host//etc/nginx/nginx.conf

Сравнение удалённого и локального конфига

# Сравниваем без скачивания. Дефис '-' заставляет diff читать ВТОРОЙ операнд
# из stdin (это вывод ssh). Порядок: слева локальный, справа удалённый.

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

ssh user@host cat /etc/nginx/nginx.conf | diff ./local_nginx.conf -

Проброс вывода в буфер обмена

# Выполняем команду на сервере и забираем результат в локальный буфер.

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

ssh user@host uname -a | xclip -selection clipboard

Монтирование сервера как флешки

# Ставим FUSE-драйвер файловой системы.

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

sudo apt-get install sshfs
# Монтируем удалённый каталог — работаем через обычные ls/cp.
# reconnect спасает сессию при обрыве связи.

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

sshfs user@host:/home/user ~/remote_files/ -o reconnect

Рабочее мультиплексирование (постоянное соединение)

Если постоянно ходишь на одну машину, перестань тратить время на криптографическое рукопожатие при каждом коннекте.

# Добавь в ~/.ssh/config. Каталог для сокетов создай заранее:
# mkdir -p ~/.ssh/sockets
# ВАЖНО: ControlMaster именно 'auto', иначе переиспользование не сработает.

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

Host *
    ControlMaster auto
    ControlPath ~/.ssh/sockets/%C
    ControlPersist 10m

Первое соединение откроет TCP-канал, а все последующие ssh, scp и sftp полетят через него мгновенно.

Проверь свой ~/.ssh/config прямо сейчас на предмет вредных настроек!

❗️❗️❗️ Нравится формат? Ставь 👍

👉 Рубрика: #шпаргалка@LinuxSkill
#Linux #SSH #DevOps #SysAdmin #Security