10 распространенных полезных команд SSH

AMDAMD Ryzen 5 4650G 16GB DDR 4 ECC AMD Ryzen 5 4650G Ryzen Dedicated Server Animation
20%
85€ 68€
Order Now

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

Или воспользуйтесь экранирующей последовательностью:

~.

Это полезно, когда соединение не отвечает на запросы.

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

Или используйте последовательность выхода:

~.

Это полезно, когда соединение становится неотзывчивым.