Синтаксис команды ssh linux

Команда ssh Linux подключение и настройка

ssh ( Secure Shell — «безопасная оболочка») – это протокол прикладного уровня в операционной системе «Линукс», который обеспечивает удаленный доступ управления персональным компьютером. Чаще всего такой протокол используется при удаленном управлении серверами с помощью терминала.

Если вы являетесь администратором на нескольких серверах, обладаете обширными знаниями в области веб-программирования, команда SSH должна быть знакома. Для осуществления поставленных задач в системе «Линукс» применяется сервер, установленный на машине, и клиент, из которого к ней подключаются.

Утилита ssh отличается широким функционалом, дает пользователю большие возможности. С помощью утилиты можно подключиться к серверу, а также передавать файлы, выполнять скрипты удаленным способом, управлять сервером без предварительного ввода пароля.

Синтаксис

Рассмотрим синтаксис команды.

ssh [опция] [пользователь]@[название хоста] [команда]

Стоит отметить, что утилита ssh способна работать с помощью двух версий протокола, они так и называются протокол 1 и протокол 2. Второй вариант является наилучшим, так как поддерживает значительно больше способов шифрования, а также аутентификаций. Именно поэтому протокол 2 применяется пользователями чаще всего.

  • «g» — для разрешения удаленной машине пользоваться определенным локальным портом.
  • «l» — для изменения/введения имя пользователя в определенной системе.
  • «f» — аргумент переводит режим работы в фоновый.
  • «n» — для перенаправления классического вывода.
  • «p» — для изменения/введения данных о локальном порту SSH, используемом на удаленной машине.
  • «q» — для исключения вероятности показа сообщений о возникающих ошибках.
  • «v» — для включения специального режима отладки.
  • «x» — для отключения перенаправления X11.
  • «X» — для включения перенаправления Х11.
  • «C» — для включения сжатия.

Представленный выше список является неполным. На самом деле команда ssh поддерживает в разы больше опций, а описанные варианты используются чаще всего. Стоит заметить, что большинство настроек можно водить с использованием файла «ssh/config».

Настройка

Для осуществления поставленной перед пользователем задачи первоначально требуется обратиться к файлу «/etc/ssh/sshd_config». Здесь имеется множество настроек, большинство из которых применяются редко. Именно поэтому рекомендуется рассмотреть те, которые пользователи вводят чаще всего.

Строка Port

Утилита работает согласно стандартным установкам на основе порта 22. Это поведение не является безопасным, так как мошенникам известен этот порт. Они могут организовать атаку Bruteforce, чтобы перебить имеющийся пароль. Требуемый порт задается с помощью строки «Port 22». Потребуется в обязательном порядке изменить показатели порта на необходимые вам данные.

Строка — Protocol 2,1

На сервере команда ssh согласно стандартным установкам используются две версии протоколов. Они предназначены для совмещения. К примеру, если потребуется использование только второго протокола, потребуется раскомментировать (удалить #) строку «Protocol 2,1» и убрать цифру 1.

Запрет входа root через ssh

В команде ssh согласно стандартным установкам разрешается Root-доступ. Данное поведение также небезопасно. Именно поэтому пользователю потребуется обязательно раскомментировать строку:

Если в конфиге нет строчки PermitRootLogin no, необходимо довать ее в конец файла.

Вход только одному пользователю

В файле конфигурации sshd_config можно добавить две директивы:

Они позволяют разрешить пользоваться ssh только конкретным пользователям или группам.

Читайте также:  Чем редактировать plist mac os

AllowUsers имя пользователя1, имя пользователя2

AllowGroups группа1, группа2

Особенности выполнения приложений Х11

Не каждый современный пользователь знает, что утилиту SSH можно применить для полноценного запуска приложений Х11. Чтобы появилась возможность использования такой функции, потребуется разрешить ее со стороны сервера. Для этих целей необходимо ввести:

Для вступления изменений, внесенных в утилиту ssh, необходим обязательный перезапуск сервиса. Для этого потребуется ввести специальную команду:

service sshd restart

Или можно перезагрузить всю машину:

Примеры

Существует большое количество методов использования утилиты. Большинство из них неизвестны современному пользователю операционной системы Линукс.

Рассмотрим подключение к серверу.

При присоединении с использованием утилиты в командной строке потребуется ввести:

Например, нам надо подключиться к компьютеру в локальной сети debian, под пользователем slon.

ВАЖНО! Вместо доменного имени компьютера в сети можно написать IP-адрес.

Все современные пользователи первоначально присоединяются к удаленной хосту (компьютеру). Только после этого они вводят требуемые команды. Утилита ssh дает возможность выполнить необходимую задачу без обязательного запуска терминала на удаленной машине.

Предположим нам надо запустить команду top на удаленном компьютере.

ssh slon@debian top

К примеру, требуется запустить скрипт bash на удаленном компьютере. Сам файл bash.sh находится на локальном компьютере . Для этих целей необходимо провести перенаправление ввода bash.

ssh slon@debian ‘bash -s’

С использованием утилиты пользователю предоставляется возможность сохранить бекап локального диска на удаленной серверной машине. Для этих целей нужно перенаправлять вывод dd с использованием оператора перенаправления. Далее вывод dd сохраняется в файле copiadiska.img.

sudo dd if=/dev/sdb | ssh slon@192.168.1.7 ‘dd of=copiadiska.img’

Для восстановления прежнего состояния локального диска используется созданная ранее копия. Для этого в командной строке нужно ввести:

ssh slon@192.168.1.7 ‘dd if=copiadiska.img’ | dd of=/dev/sdb»

Стоит отметить, что в данном случае «/dev/sdb» — это название вашего жесткого диска.

При использовании команды ssh для входа в удаленный сервер нередко требуется пароль. Это создает дополнительные неудобства, но дает возможность обезопасить вас от злоумышленников. Несмотря на защиту, пароль можно подобрать.

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

Это поведение весьма просто настроить. Изначально необходимо задать ключ. Для этого потребуется ввести:

ssh-keygen -t rsa

При создании ключа пользователю необходимо ответить на определённый перечень вопросов. Если вы желаете присоединиться к удаленной машине без обязательного введения пароля, в области «Passphare» нужно оставить пустое место.

Далее ключ отправляется на удаленную машину, вводится:

После этого ключ будет сохранен. Если попробовать присоединиться к серверу повторно, вы увидите, что введение пароля уже не требуется.

Стоит отметить, размещать пароли в обыденных текстовых файлах не стоит. Ими могут воспользоваться злоумышленники Но если это потребуется, такой вариант возможен. Чтобы сохранить пароль, необходимо воспользоваться оператором, используемым при перенаправлении Bash. Введите в командной строке:

При запуске команды ssh на экране монитора нередко всплывает приветствие. Допускается его изменение. За такую функцию отвечает специальный файл «/etc/issue». Вам потребуется просто открыть данный файл и указать необходимо приветствие. Для этого вводится команда:

В некоторых случаях пользователю ОС Линукс может потребоваться информация о неудачных попытках подключения к утилите. Вы можете посмотреть IP-адреса, с которых совершалось данное действие.

Все запросы о входах концентрируются в «/var/log/secure».

Чтобы отфильтровывать информацию в терминале по запросу «Failed password» необходимо добавит grep

cat /var/log/secure | grep Failed password

Нередко пользователям требуется запустить определенное приложение с графической оболочкой на удаленном компьютере.

Для осуществления поставленной задачи не нужно использовать VNC, достаточно применить команду ssh. Программа запустится со стороны удаленной машины, пользователю транслируется лишь окно, в котором можно увидеть все, что ему необходимо.

Читайте также:  Ватсапп для компьютера windows 10

Стоит отметить, что все получаемые данные могут шифроваться. Чтобы такая опция заработала, потребуется включить поддержку со стороны удаленного сервера. Далее выполняется команда, позволяющая загрузить графическую программу. Для этого потребуется ввести в командную строку «ssh -XC user@remotehost «eclipse»».

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

Теперь можно завершить сессию простой командой:

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

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

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

Про Secure Shell

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Windows update 8024402c windowsupdate dt000

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры командной строки 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.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Оцените статью