10 Общих Полезных Команд SSH
Secure Shell (SSH) является важным инструментом для системных администраторов, разработчиков и всех, кто управляет удалёнными серверами. С помощью удалённого доступа по SSH вы можете безопасно подключаться к удалённой машине, выполнять команды, передавать файлы и выполнять административные задачи. В этой статье мы рассмотрим 10 распространённых команд SSH, которые вы должны использовать сегодня.
1. Подключение к удалённому серверу
Самая базовая команда SSH используется для подключения к удалённому серверу:
ssh user@remote_host
Замените
userна ваше имя пользователя и
remote_hostна IP-адрес или доменное имя сервера.
2. Подключение с использованием конкретного порта
По умолчанию SSH использует порт 22, но вы можете указать другой порт, если это необходимо:
ssh -p 2222 user@remote_host
Это полезно, если SSH-сервер настроен на работу на нестандартном порту.
3. Использование SSH-ключей для аутентификации
Вместо использования пароля вы можете аутентифицироваться с помощью SSH-ключа:
ssh -i /path/to/private_key user@remote_host
Генерация SSH-ключа может быть выполнена с помощью:
ssh-keygen -t rsa -b 4096
Это повышает безопасность и устраняет необходимость вводить пароль каждый раз.
4. Выполнение команд на удалённом сервере
Вы можете выполнить одну команду на удалённом сервере, не открывая интерактивную сессию:
ssh user@remote_host "ls -l /var/www/html"
Это полезно для быстрых административных задач.
5. Копирование файлов с помощью SCP
Протокол безопасного копирования (SCP) позволяет передавать файлы между локальными и удалёнными машинами:
scp file.txt user@remote_host:/remote/directory/
Чтобы скопировать каталог рекурсивно:
scp -r /local/directory user@remote_host:/remote/directory/
6. Копирование файлов с помощью rsync
Альтернативой SCP является
rsync, который более эффективен для синхронизации файлов:
rsync -avz /local/directory user@remote_host:/remote/directory
Он минимизирует передачу данных, отправляя только различия между файлами.
7. Настройка SSH-туннелирования
SSH-туннелирование позволяет безопасно перенаправлять сетевой трафик. Чтобы создать локальный туннель:
ssh -L 8080:localhost:80 user@remote_host
Это перенаправляет трафик с вашего локального порта 8080 на порт 80 удалённого сервера.
8. Обратное SSH-туннелирование
Обратное туннелирование позволяет удалённому серверу получить доступ к вашей локальной машине:
ssh -R 9090:localhost:22 user@remote_host
Это полезно для доступа к системе за файрволом.
9. Мультиплексирование SSH-соединений
Если вы часто подключаетесь к одному и тому же серверу, вы можете ускорить SSH, включив мультиплексирование:
ssh -o ControlMaster=yes -o ControlPath=~/.ssh/socket user@remote_host
Это уменьшает накладные расходы на аутентификацию для нескольких SSH-сессий.
10. Завершение SSH-сессии
Чтобы закрыть SSH-сессию, просто введите:
exit
Или используйте последовательность выхода:
~.
Это полезно, когда соединение становится неотзывчивым.


