как разорвать ssh соединение linux

Как выйти из SSH-соединения?

Я подключаюсь к серверу через SSH для отправки сообщения на сервер сокетов с помощью команды типа:

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

Есть ли команда или комбинация клавиш, которая позволяет мне вернуться в командный режим?

8 ответов

Как выйти из SSH-соединения?

. и ssh должен немедленно закрыть и вернуть вас в командной строке.

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

Мы могли бы изучить эту информацию, внимательно прочитав страницу руководства.

Короткий ответ: Введите exit

Символ SSH Escape и последовательность разъединения

, введенный в начале строки.

Другие escape-последовательности

OpenSSH, например, предлагает другие escape-последовательности помимо

? во время сеанса должен предоставить вам список. Некоторые примеры:

follow Ctrl-Z приостанавливает сеанс,

& помещает его прямо в фоновый режим,

Вы хотите выйти из оболочки SSH?

Вы можете ввести exit и нажать Enter или использовать Ctrl + D

Просто введите exit или logout (тогда нажмите Enter, конечно), оба будут работать.

Когда вы регистрируетесь в системе как пользователь без полномочий root (кто-то не является uid 0), вы не можете создать список TCP или UDP-портов ниже 1024. Это связано с тем, что номера портов ниже 1024 являются так называемыми привилегированные порты и могут открываться только root или процессы, выполняемые как root. Например, когда ваш веб-сервер (apache, nginx и т. Д.) Запустится, он сделает это как привилегированный пользователь root, чтобы открыть прослушивающее соединение с портом 80 (порт, который по умолчанию будет использоваться для HTTP-трафика). Теперь, как только порт будет открыт, и все, что нужно сделать с правами root, будет выполнено, веб-сервер вернется к не-привилегированному пользователю (либо www-data, apache, либо никому). С этого момента, когда происходит что-то плохое, оно ограничено только правами, которые имеет этот пользователь. Теперь вернемся к SSH: когда мы запускаем SSH на порте 22, мы знаем, что это делается с помощью корневого или корневого процесса, поскольку никакой другой пользователь не может открыть этот порт. Но что произойдет, когда мы переместим SSH на порт 2222? Этот порт можно открыть без привилегированной учетной записи, что означает, что я могу написать простой скрипт, который прослушивает порт 2222 и имитирует SSH, чтобы захватить ваши пароли.

Автор статьи также считает, что изменение порта SSH не должно быть сделано вообще по соображениям совместимости.

Другая проблема: у многих корпораций есть входящие и исходящие брандмауэры, то есть вы не можете перейти на какой-либо сайт к произвольному порту и ожидать, что он будет работать. Некоторые защищенные порты, такие как порт 22, часто освобождаются от этого, в то время как другие порты, такие как порт 25 или 110, блокируются.

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

Это поддерживаемые символы, которые предоставляют различные варианты, с которыми вы можете играть с помощью ssh.

MacOS : когда ssh зависает, используйте следующую последовательность:

Источник

Как пользоваться SSH

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

Базовый синтаксис

Синтаксис команды выглядит следующим образом:

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

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

Опции команды SSH

Теперь давайте рассмотрим самые основные опции команды ssh:

Это далеко не все опции утилиты, остальные выходят за рамки данной статьи. Многие настройки работы ssh можно изменять через конфигурационный файл

/.ssh/config но здесь мы это тоже подробно рассматривать не будем.

Настройка сервера SSH

Настройки сервера SSH находятся в файле /etc/ssh/sshd_config. Многие из них мы тоже трогать не будем. Рассмотрим только самые интересные. Сначала откройте файл /etc/ssh/sshd.conf

Порт ssh

По умолчанию ssh работает на порту 22. Но такое поведение небезопасно, поскольку злоумышленник знает этот порт и может попробовать выполнить Bruteforce атаку для перебора пароля. Порт задается строчкой:

Поменяйте значение порта на нужное.

Протокол SSH

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

И приведите ее к такому виду:

Рут доступ

По умолчанию Root доступ по ssh разрешен, но такое поведение очень небезопасно, поэтому раскомментируйте строчку:

Доступ только определенного пользователя к SSH

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

AllowUsers User1, User2, User3
AllowGroups Group1, Group2, Group3

Выполнение X11 приложений

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

Основные опции рассмотрели, перед тем как переходить дальше, не забудьте перезагрузить ssh сервер чтобы сохранить изменения:

service sshd restart

Использование SSH

Подключение к серверу

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

Выполнить команду

Мы привыкли подключаться к удаленному серверу, а уже потом выполнять нужные команды, но на самом деле утилита ssh позволяет сразу выполнить нужную команду без открытия терминала удаленной машины. Например:

Выполнит команду ls на удаленном сервере и вернет ее вывод в текущий терминал.

Выполнить локальный скрипт

Выполним интерпретатор bash на удаленном сервере и передадим ему наш локальный скрипт с помощью перенаправления ввода Bash:

Бекап на удаленный сервер и восстановление

Мы можем сохранять бекэп диска сразу на удаленном сервере с помощью ssh. Перенаправим вывод dd с помощью оператора перенаправления |, затем сохраним его на той стороне в файл:

sudo dd if=/dev/sda | ssh user@host ‘dd of=sda.img’

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

ssh user@host ‘dd if=sda.img’ | dd of=/dev/sda

Здесь и выше /dev/sda имя файла вашего жесткого диска.

Аутентификация без пароля

Настроить такое поведение очень легко. Сначала создайте ключ командой:

Затем отправляем ключ на сервер:

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

Взять пароль из локального файла

Изменить приветствие SSH

При входе по ssh может выводиться приветствие, изменить его очень легко. За это отвечает файл /etc/issue. Просто откройте этот файл и введите нужный текст:

Смотрим неудачные попытки входа SSH

Хотите посмотреть были ли попытки неудачного доступа по ssh к вашему серверу и с каких IP адресов? Запросто, все запросы логируются в файл /var/log/secure, отфильтруем только нужные данные командой:

cat /var/log/secure | grep «Failed password for»

Передача файлов по SSH

Кроме выполнения команд, можно копировать файлы по ssh. Для этого используется утилита scp. Просто укажите файл, который нужно передать, удаленный сервер и папку на сервере, вот:

$ scp /адрес/локального/файла пользователь@ хост: адрес/папки

Кроме утилиты scp, передача файлов ssh может быть выполнена более хитрым способом. Прочитаем файл и с помощью cat, передадим, а там сохраним поток в файл:

cat localfile | ssh user@host «cat > remotefile»

ssh user@host «cat > remotefile»

Пойдем еще дальше, вы можете сжимать файлы перед передачей с помощью tar, а потом их сразу же на лету распаковывать:

Такое копирование файлов ssh позволяет отправлять сразу целые папки.

Запуск графических приложений по ssh

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

Затем просто выполняем команду запуска графического приложения на удаленном сервере вот таким образом:

Завершение сессии SSH

В файл /etc/ssh/ssh_config. Теперь, чтобы разорвать SSH соединение достаточно нажать Enter и набрать:

Другие управляющие символы можно узнать нажав:

Туннели SSH

С помощью SSH туннелей вы можете пробросить порт с удалённого сервера на локальную машину. Это очень полезно, в первую очередь, для разработчиков. Для того чтобы пробросить порт с удалённой машины локальной используйте опцию -L и такой синтаксис:

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

Теперь локальная база данных на порту 3306 будет доступна на удалённом сервере при обращении к порту 5555.

Выводы

Теперь вы знаете как пользоваться SSH. Как видите, технология SSH позволяет сделать намного больше чем можно предположить с первого взгляда, и это еще далеко не все. Какие интересные возможности SSH используете вы при повседневной работе? Поделитесь в комментариях!

Источник

105 команд для работы с сервером Linux по SSH

SSH — это протокол для установки связи между PC и сервером. Команды SSH, или как их еще называют «команды для PuTTY», — это инструкции для управления различными функциями сервера. С технической точки зрения, это примерно то же самое, что управлять компьютером на базе Linux через терминал. Принципиальное отличие лишь в том, что для управления сервером сначала нужно установить с ним дистанционное соединение, а уже потом переходить к работе. На локальной «машине» этот этап можно пропустить. Но речь не о ней, и мы снова возвращаемся к SSH.

Еще раз отмечу, что речь идет о подключении к серверу на базе Linux, и все описываемые ниже утилиты работают именно на нем.

Подключение к серверу через SSH

Мы уже выяснили, что представляет собой SSH и команды для него. Теперь установим соединение с сервером.

Естественно, перед началом надо арендовать виртуальный хостинг или VDS у одного из доступных провайдеров. У Timeweb, к примеру.

Если у вас macOS или Linux

Все. Соединение установлено, можно переходить к работе непосредственно с сервером.

Если у вас Windows

Управление протоколом SSH

У команды для подключения к удаленному PC по SSH есть две важных опции:

Работа с командной строкой, горячие клавиши и дополнительные символы

Базовые методы управления текстом в терминале.

clear — удаляет из текущий сессии терминала все ранее выведенные в него данные, содержимое открытых документов и историю использованных команд. Используется, когда нужно четко лицезреть вывод конкретной операции.

history — показывает ранее использованные приложения и инструменты. Без дополнительных аргументов отображает 10 элементов. Но их количество можно изменить вручную, добавив к слову history любое число. history 13, к примеру.

whatis — дает однострочную справку к любой из установленных программ. Принцип работы следующий: вводим слово whatis, а за ним следом название приложения, о котором хотим узнать. Например, чтобы узнать о том, что такое nano, введем в терминал: whatis nano.

man название пакета — открывает документацию к любой из установленных программ. В ней можно посмотреть, какие функции есть у приложения, как им пользоваться, какие могут возникнуть проблемы.

Дополнительные символы

Не совсем команды, но тоже текстовые элементы, причем полезные.

; — разделитель, необходимый, чтобы активировать сразу несколько команд подряд. Это выглядит так: cd

/Documents; mkdir Novaya_papka; rmdir Staraya-papka. Команды будут выполняться друг за другом независимо от результата выполнения каждой из них.

&& — то же самое, что и ;, но с важным нюансом. Команды, соединенные с помощью &&, будут выполняться друг за другом, только если предыдущая завершилась успешно. Синтаксис аналогичный:

| — запускает сразу две команды. Это может быть полезно, когда нужно запросить информацию из какого-нибудь приложения, а потом найти в полученных данных определенную строку, код, слово или иной элемент текста.

— сокращение от /home/имя учетной записи/. Часто фигурирует в инструкциях.

Горячие клавиши

Парочка полезных сочетаний клавиш.

Стрелка вверх — показывает предыдущую команду.

Ctrl+C — прерывает запущенный процесс.

Ctrl+A — перемещает курсор в начало строки.

Ctrl+E — перемещает курсор в конец строки.

Сетевые функции и параметры сервера

Утилиты и инструменты для вебмастеров и администраторов.

apachectl startssl — запускает сервер Apache (если вы его используете, конечно).

apachectl stop — выключает Apache.

apachectl restart — перезапускает Apache.

/usr/local/etc/rc.d/mysql-server restart — активирует скрипт перезапуска системы MySQL.

Источник

Интересные приёмы и хитрости SSH

Авторизуйтесь

Интересные приёмы и хитрости SSH

руководитель отдела аналитики компании «Рексофт»

Несколько советов об эффективном использовании SSH. Поговорим о том как:

Многофакторная аутентификация в SSH

Существует пять способов, как добавить второй фактор для аутентификации в SSH:

Безопасное использование проброса ключа (agent forwarding)

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

Выход из зависшей SSH-сессии

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

Вот несколько способов, как выйти из зависшей сессии:

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

. закрывает текущее соединение и возвращает в терминал (вводить управляющие последовательности можно только в новой строке).
Команда

? выводит список команд, которые можно использовать в текущей сессии. Если у вас клавиатура с несколькими языками, вам возможно придется нажимать кнопку

дважды, чтобы отправить этот символ.

Почему сессии зависают? Когда был изобретен Интернет, компьютеры были не особо мобильными. Когда вы работаете на ноутбуке и переключаетесь между IPv4 WiFi сетями, ваш IP-адрес меняется. Так как SSH базируется на TCP-соединении, а TCP-соединения зависят от точек подключения с неизменными IP-адресами, то каждый раз, когда вы подключаетесь к другой сети, ваше SSH-соединение теряется. Когда ваш IP-адрес меняется, проходит некоторое время, прежде чем сетевой стек обнаружит, что соединение потеряно. TCP-соединение не предполагает быстрое закрытие соединения одной из сторон в случае проблем в сети, поэтому оно будет пытаться повторять отправку данных еще какое-то время. В вашем же терминале сессия будет выглядеть зависшей. IPv6 добавляет функциональность, позволяющую устройствам сохранять свой IP-адрес при переключении между сетями. Так что когда-нибудь это перестанет быть проблемой.

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

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

Как расшарить удаленный терминал с другом

Когда решаешь сложную проблему с серверами, хотелось бы расшарить SSH-сессию с кем-то еще, кто находится в другом месте. tmux — это лучший инструмент для шаринга терминала. Итак, нужно сделать следующее:

Источник

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

Полезно

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

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

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

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

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

Навигация

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

Телефония

FreePBX и Asterisk

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

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

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

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

Онлайн курс по 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 с помощью SSH Keygen

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • как разогнать скорость интернета на максимум на виндовс 7
  • как разогнать сетевую карту kali linux
  • как разогнать процессор на виндовс 7 через биос
  • как разогнать процессор на linux
  • как разогнать оперативную память на виндовс 10

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии