img

Руководство по команде SSH в Linux с примерами

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

SSH (Secure Shell) - это сетевой протокол, который обеспечивает безопасное удаленное соединение между двумя системами. Системные администраторы используют утилиты SSH для управления компьютерами, копирования или перемещения файлов между системами. Поскольку SSH передает данные по зашифрованным каналам, безопасность находится на высоком уровне.

Руководство по команде SSH в Linux с примерами

Установка клиента OpenSSH

Есть много SSH-клиентов, бесплатных и платных, и OpenSSH является наиболее широко используемым клиентом. Он доступен на всех основных платформах, включая Linux, OpenBSD, Windows и macOS. Клиент OpenSSH предустановлен в большинстве дистрибутивов Linux по умолчанию, однако если в вашей системе не установлен клиент ssh, вы можете установить его с помощью диспетчера пакетов.

sudo apt install openssh-client

Как получить доступ к удаленному серверу

Для подключения к удаленному компьютеру вам потребуется его IP-адрес или имя. Загрузите терминал или любой SSH-клиент и введите ssh, а затем IP-адрес:

ssh 192.168.56.101

или имя:

ssh test.server.com

При первом подключении к хосту вы увидите следующее сообщение:

ssh 192.168.56.101

Введите yes и нажмите Enter. Возможно, вам также потребуется ввести свой пароль.

Укажите имя пользователя для SSH-подключения

SSH использует текущего пользователя при доступе к удаленному серверу. Чтобы указать пользователя для SSH-соединения, выполните команду в следующем формате:

ssh username@hostname_or_ip

Например:

ssh testuser@10.0.0.55
Примечание. Если вы столкнулись с ошибкой «Connection refused», обратитесь к нашему руководству, чтобы найти решения.

Используйте другой номер порта для SSH-соединения

По умолчанию сервер SSH прослушивает соединение на порту 22. Если настройка порта в файле конфигурации SSH была изменена, вам необходимо указать порт. В противном случае вы получите такую ошибку:

Connection refused

Чтобы подключиться к удаленному хосту с настраиваемым номером порта SSH, используйте флаг -p. Например:

ssh test.server.com -p 3322

Генерация ключей SSH с помощью SSH Keygen

Чтобы повысить безопасность соединений SSH, сгенерируйте пару ключей с помощью утилиты keygen. Пара состоит из открытого и закрытого ключей. Открытый ключ может быть общим, а закрытый ключ должен оставаться в безопасности.

Пары ключей SSH используются для автоматической аутентификации клиентов на серверах. Когда вы создаете пару ключей SSH, больше не нужно вводить пароль для доступа к серверу.

На терминале хост-машины используйте эту команду для создания пары ключей:

ssh-keygen -t rsa

Чтобы использовать настройки по умолчанию, нажмите Enter в ответ на запрос местоположения файла и парольной фразы.


Копировать открытый ключ SSH

Чтобы использовать пару ключей для аутентификации SSH, вам необходимо скопировать открытый ключ на сервер. Ключ - это файл id_rsa.pub, ранее созданный с помощью утилиты генерации ключей SSH.

Чтобы скопировать ключ на сервер, запустите эту команду на клиенте:

ssh-copy-id hostname_or_IP

Вы также можете указать имя пользователя, если не хотите использовать текущего пользователя.

Введите пароль для аутентификации, когда его спросят. После этого вам больше не нужно будет использовать пароль для подключения к тому же серверу.


Копирование файла удаленно через SSH с помощью SCP

Вы можете безопасно копировать файлы по протоколу SSH с помощью инструмента SCP. Базовый синтаксис:

scp fileName user@remotehost:/home/username/destination

Например, чтобы скопировать файл sample3 на рабочий стол на удаленном сервере с проверкой имени пользователя, введите:

scp sample3 test@10.0.10.5:/home/test/Desktop

Выходные данные показывают сводку операции.

scp sample3 test@10.0.10.5:/home/test/Desktop

Обязательно используйте флаг -P в верхнем регистре, если вам нужно указать порт.


Редактировать файл конфигурации SSH

Вы можете контролировать, как удаленные пользователи могут получить доступ к серверу через SSH. Измените настройки в файле sshd_config, чтобы настроить параметры сервера SSH. Обязательно редактируйте только те параметры, которые вам знакомы. Сервер может стать недоступным из-за неправильной конфигурации.

Используйте любой редактор по вашему выбору, чтобы отредактировать файл. Для внесения изменений вам потребуются права суперпользователя. В Linux мы используем vim.

В командной строке на удаленном хосте введите:

sudo vim /etc/ssh/sshd_config

Введите пароль sudo, и оболочка откроет файл в редакторе, который вы использовали.


Перезапустить службу SSH

Когда вы вносите изменения в конфигурацию SSH, вам нужно будет перезапустить службу в Linux.

В зависимости от дистрибутива Linux выполните одну из следующих команд на машине, на которой вы изменили настройки:

sudo ssh service restart

или:

sudo sshd service restart

Наконец, введите пароль, чтобы завершить процесс. В результате в следующем сеансе SSH будут использоваться новые настройки.


Выполнение команды на удаленном сервере с локального компьютера

Этот метод не создает новую оболочку. Вместо этого он запускает команду и возвращает пользователя в локальную подсказку. Вы можете создать файл, скопировать файлы или запустить любую другую команду SSH в этом формате.

Чтобы удаленно выполнить команду с локального компьютера, добавьте инструкцию к команде SSH. Например, чтобы удалить файл, введите:

ssh test.server.com rm ~/Desktop/Dir1/sample4

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


Параметры командной строки SSH

Инструмент SSH имеет множество дополнительных параметров. Ниже перечислены общие параметры SSH и соответствующие описания.

  • -1 - указывает ssh использовать версию протокола 1
  • -2 - указывает ssh использовать протокол версии 2.
  • -4 - разрешает только адреса IPv4.
  • -6 - разрешает только адреса IPv6.
  • -A - включает переадресацию соединения агента аутентификации. Используйте эту опцию с осторожностью.
  • -a - Отключает переадресацию соединения агента аутентификации.
  • -b bind_address - используйте эту опцию на локальном хосте с более чем одним адресом, чтобы установить исходный адрес соединения.
  • -C - включает сжатие данных для всех файлов. Только для использования с медленными соединениями.
  • -c cipher_spec - используется для выбора спецификации шифра. Перечислите значения через запятую.
  • -E log_fileName - прикрепляет журналы отладки к log_file вместо стандартной ошибки.
  • -f - отправляет ssh в фоновый режим даже до ввода пароля или ключевой фразы.
  • -g - Разрешает удаленным хостам подключаться к портам, перенаправленным на локальном компьютере.
  • -q - запускает ssh в тихом режиме. Он подавляет большинство сообщений об ошибках и предупреждениях.
  • -V - отображает версию инструмента ssh и завершает работу.
  • -v - печатает отладочные сообщения для ssh-соединения. Подробный режим полезен при устранении неполадок конфигурации.
  • -X - Используйте этот параметр, чтобы включить пересылку X11.
  • -x - Отключить пересылку X11.
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker