Перейти к содержимому

Enable ssh что это

  • автор:

SSH для новичков

Программистов, сисадминов, devops’ов, тестировщиков часто объединяет использование некоторых общих технологий. Например, возможность иметь удалённый доступ к серверу пригодилось бы любому из указанной выше анекдотичной компании. Поэтому в этой статье мы рассмотрим основы работы с протоколом SSH на базовом уровня (без генерации ключей, подписей, мам, пап и кредитов). «Продвинутое» использование посмотрим уже отдельно, в следующий раз. Материал подготовил Макс, автор YouTube-канала PyLounge. Поехали!

Введение

SSH (Secure SHell — защищенная оболочка) — сетевой протокол прикладного уровня, предназначенный для безопасного удаленного доступа к различным системам (Linux, Windows, Mac).

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

Эта служба была создана в качестве замены не зашифрованному Telnet и использует криптографические техники, чтобы обеспечить, что всё сообщение между сервером и пользователем было зашифровано.

Чтобы установить SSH-соединение, необходимы два компонента: SSH-сервер и SSH-клиент. Сервер прослушивает определенный порт (по умолчанию это порт 22) и при успешной аутентификации дает доступ пользователю. Все команды, которые используются на SSH-клиенте, отправляются через защищенный канал связи на SSH-сервер, на котором они выполняются и откуда отправляют результат работы обратно клиенту.

SSH-сервер

Устанавливается на управляемой операционной системе и принимает входящие подключения от клиентских машин, проверяя соединение одним из способов:

  • по IP-адресу клиента, что не слишком безопасно из-за риска подмены;
  • по публичному ключу клиента и имени пользователя. Нужно создать приватный (закрытый) и публичный (открытый) ключ. Зашифровав информацию одним ключом, можно расшифровать ее только другим;
  • по паролю клиента, который передается в зашифрованном виде. Это один из наиболее распространенных вариантов. Вводить его нужно при каждом подключении.

Платные и бесплатные SSH-серверы есть для всех распространенных ОС:

  • BSD — OpenSSH;
  • Linux — dropbear, lsh-server, openssh-server;
  • Windows — freeSSHd, copssh, WinSSHD, OpenSSH и т. д.
SSH-клиент

Используется для входа на удаленный сервер и выполнения команд. Через клиент выполняется управление удаленным компьютером.

SSH-клиенты разработаны для всех ОС. Имеют платные и бесплатные версии:

  • Linux/BSD — openssh-client, putty, ssh, Vinagre;
  • Windows — PuTTY, SecureCRT, ShellGuard;
  • Android — connectBot.

Встроенный SSH-клиент Windows, основанный на OpenSSH, предустановлен в ОС, начиная с Windows 10 1809.

Установка OpenSSH на Ubuntu

Установка с помощью менеджера пакетов apt-get:

sudo apt-get install openssh-server

Проверка SELinux

Security Enhanced Linux, или SELinux – это усовершенствованный механизм контроля доступа, встроенный в большинство современных дистрибутивов Linux. Первоначально он был разработан Агентством национальной безопасности США для защиты компьютерных систем от вторжения злоумышленников и взлома. SELinux также может помешать работе с ssh. Поэтому необходимо убедиться, что он отключен, либо отключить его.

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

sudo apt-get install policycoreutils sudo apt-get install net-tools

Проверяем статус SELinux. Состояние должно быть disable .

sestatus

Подключение к виртуальной машине с типом подключения NAT

Если виртуальная машина использует тип сетевого подключения NAT, то первоначально необходимо настроить проброс портов. Пробросим порт хоста 2222 (или любой свободный) на гостевой порт виртуальной машины номер 22 (порт ssh по умолчанию).

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

Подключение по ssh через PuTTY

Т.к. в качестве сетевого подключения у виртуальной машины используется NAT, при подключении мы будем указывать петлевой адрес localhost (127.0.0.1) c портом, на который был назначен проброс.

После этого вводим имя пользователя (пользователь должен существовать в linux. ) и пароль от этого пользователя.

Подключение по ssh через Командную строку Windows (cmd)

Запускаем командную строку сочетанием клавиш Win + R . В открывшемся окне указываем cmd. Нажимаем OK.

В общем видео подключение по ssh имеет вид:

ssh имя_пользователя@ip_адрес_компьютера_к_которому_подключаемся -p порт

Если для подключения используется стандартный порт ssh — 22, то порт можно не указывать.

В открывшемся окне вводим команду:

ssh student@127.0.0.1 -p 2222

Вводим пароль пользователя. Всё. Вы великолепны!

Подключение к виртуальной машине с типом подключение Сетевой мост

С типом подключения Сетевой мост необходимо выдать статический ip для Linux системы. Дальнейшее подключение будет уже по этому, выданному ip, а не через localhost.

Установка статического ip

Начиная с выпуска Ubuntu 17.10 NetPlan теперь это инструмент настройки сети по умолчанию для управления настройками сети, заменяющий файл конфигурации /etc/network/interfaces , который использовался в предыдущих версиях.

Файлы конфигурации для Netplan находятся в каталоге /etc/netplan и написаны на языке YAML. В этом каталоге вы найдете файлы конфигурации YAML.

Откроем конфигурационный файл:

sudo nano /etc/netplan/*.yaml

Отредактируем конфигурационный файл:

network: version: 2 renderer: NetworkManager ethernets: enp0s3: dhcp4: false addresses: [10.40.0.224/24] gateway4: 10.40.0.1 nameservers: addresses: [10.2.0.8, 10.2.0.3] 
  • ethernets — указывает на проводное Ethernet подключение;
  • enp0s3 — имя сетевого интерфейса (можно узнать командой ifconfig);
  • dhcp4 — автоматическая выдача ipv4-адреса с помощью службы dhcp (для ipv6 указывать dhcp6);
  • addresses — ip-адрес и маска сети, которые назначаются компьютеру;
  • gateway4 — шлюз по умолчанию;
  • nameservers — список dns-серверов.

Посмотреть настройки можно с хостовой машины на Windows с помощью команды ipconfig /all.

Чтобы применить изменения и перезагрузить сеть, вводим команду:

sudo netplan apply
Подключение по ssh

Запускаем командную строку сочетанием клавиш Win + R . В открывшемся окне указываем cmd. Нажимаем OK.

В открывшемся окне вводим команду:

ssh student@10.40.0.224

Вводим пароль пользователя. Всё. Вы великолепны (2)!

Заключение

Несмотря на высокую защиту протокола, использование стандартного порта значительно повышает риск взлома сервера. Например, это можно сделать при помощи brute-force (атака полным перебором). Порт 22 — открытый, поэтому злоумышленнику нужно только подобрать логин и пароль к серверу. Это сложно, но возможно. Чтобы максимально ограничить доступ к серверу для злоумышленников (настроить брандмауэр, iptables), можно сменить SSH-порты.

Ресурсы, которые использовал

  1. Как включить SSH в Ubuntu 20.04 (Routerus):https://routerus.com/how-to-enable-ssh-on-ubuntu-20-04/
  2. Коротко об SSH / Хабр: https://habr.com/ru/sandbox/166705/
  3. Что такое SSH (блог REG.RU): https://help.reg.ru/support/hosting/dostupy-i-podklyucheniye-panel-upravleniya-ftp-ssh/chto-takoye-ssh

Что такое SSH

Обновлено

Обновлено: 24.07.2017 Опубликовано: 20.07.2017

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

Программные реализации SSH делятся на серверные и клиентские части. В основном, в качестве сервера применяется OpenSSH, клиентов — OpenSSH (UNIX), PuTTY или SecureCRT (Windows, Linux).

Пользоваться программами довольно просто. Пример подключения по SSH из командной строки Linux:

* где root — учетная запись, из-под которой выполняем подключение; 192.168.0.15 — IP-адрес компьютера, с которым соединяемся. Для получения полного списка ключей можно воспользоваться командой man ssh. Также на русском языке можно ознакомиться с описанием на сайте OpenNET.

Пример аналогичного подключения при помощи PuTTY:

Пример подключения по SSH с помощью PuTTY

Независимо от операционной системы семейства UNIX (Ubuntu, CentOS, FreeBSD и так далее), для настройки сервера SSH используется конфигурационный файл /etc/ssh/sshd_config. Для Windows также существует реализация сервера — «OpenSSH for Windows», которая позволит подключаться к данной системе для удаленного управления из командной строки (достойной альтернативой могут послужить Powershell или Bitvise SSH Server).

Подробнее об SSH на Википедии

Встречается в статьях

Инструкции:

  1. Использование playbook и роли в Ansible на примере установки NGINX
  2. Как настроить SSH на Cisco
  3. Настройка безопасности Linux с помощью Fail2ban
  4. Как установить и настроить iRedMail на Rocky Linux или CentOS
  5. Настройка почтового сервера iRedMail на Ubuntu/Debian
  6. Как установить и настроить систему виртуализации Proxmox VE
  7. Настройка синхронизации на CentOS и Ubuntu с Rsync Server
  8. Настройка аутентификации по SSH через Active Directory на CentOS
  9. Установка и запуск менеджера управления проектами Taiga на Rocky Linux
  10. Установка Nginx + PHP + MySQL + PostgreSQL на Astra Linux
  11. Как установить и использовать сервер хранения секретов Hashicorp Vault
  12. Как установить и настроить панель управления виртуальными машинами VMmanager
  13. Установка и настройка FTP-сервера vsFTPd на CentOS 7
  14. Установка и настройка почтового сервера Zimbra на Linux

Мини-инструкции:

  1. Установка и базовая настройка Ansible на Linux CentOS или Ubuntu
  2. Как использовать SCP без пароля
  3. Как ускорить вход по SSH
  4. Инструкция по установке VMware Tools на Linux
  5. Инструкция по установке VMware Tools на FreeBSD
  6. Как разрешить root заходить по SSH в Ubuntu
  7. Настройка ограничения chroot для протокола SFTP
  8. Просмотр и смена расположения файлов базы MySQL / MariaDB
  9. Как использовать резервные копии iRedMail для восстановления или переноса сервера
  10. Установка, настройка и использование NGINX Amplify для мониторинга веб-сервера
  11. Как работать с менеджером рассылки писем PHPLIST
  12. Установка панели управления ISPmanager на Ubuntu или CentOS
  13. Установка и настройка LDAP сервера FreeIPA на Linux CentOS
  14. Установка и настройка CRM Битрикс24 на Linux CentOS
  15. Как установить драйвер для Windows на гипервизоре KVM
  16. Как настроить кластер гипервизоров Proxmox Virtual Enviroment
  17. Как работать с менеджером пакетов dnf/yum в операционной системе Linux CentOS
  18. Синхрониация каталогов в Linux с помощью Lsyncd
  19. Как работать с pipeline в Jenkins — подготовка системы, пример Groovy-скрипта
  20. Как настроить балансировку http-запросов в веб-сервере NGINX
  21. Как собрать установочный RPM-пакет для веб-сервера NGINX в Linux CentOS
  22. Шпаргалка по работе с системой управления конфигурациями Ansible
  23. Как установить на CentOS и выполнить пробный запуск программы jmeter
  24. Настройка аутентификации пользователей FreeIPA на сервере OpenVPN
  25. Хранение и управление паролями PostgreSQL через Hashicorp Vault
  26. Установка второго сервера FreeIPA с настройкой репликации
  27. Как установить и настроить кластер Hadoop на Linux Ubuntu
  28. Как установить программный брокер Kafka на Linux и выполнить базовые команды
  29. Как с помощью Consul Connect развернуть Service Mesh
  30. Как установить и настроить NATS сервер на Linux
  31. Установка, настройка и использование почтового шлюза Proxmox Mail Gateway

Вопросы и ответы:

Описание программ:

Примеры скриптов:

  1. Скрипт php для создания почтового ящика в iRedMail
  2. Использование terraform для работы с виртуальными машинами провайдера VK Cloud

SSH-доступ

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

  • Получение справочной информации
  • Перемещение по файловой системе
  • Просмотр содержимого каталога
  • Создание и удаление файлов и каталогов
  • Просмотр и редактирование содержимого файлов
  • Копирование и перемещение файлов
  • Изменение прав доступа
  • Управление процессами
  • Работа с архивами
  • Поиск файлов

1. Информация для подключения

Информацию для подключения к серверу по SSH и SFTP вы можете получить в разделе FTP и SSH панели управления хостингом.

  • Адрес сервера (хост): ssh.login.nichost.ru, где «login» — уникальное имя услуги хостинга (указано в верхней правой части панели управления).
  • Имя SSH-пользователя (логин): login.
  • Для получения пароля SSH-пользователя нажмите кнопку Сбросить пароль. Новый пароль будет отображен в всплывающем окне. Для отправки пароля на ваш контактный адрес электронной почты, установите галочку Выслать пароль на почту.

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

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

2. Работа с хостингом с помощью Midnight Commander

Midnight Commander — двухпанельный файловый менеджер. Имеет встроенный текстовый редактор.

Для запуска Midnight Commander подключитесь к хостингу по SSH и введите команду

Основные горячие клавиши:

  • F1: Справка;
  • F3: Встроенный просмотрщик файлов;
  • F4: Встроенный текстовый редактор;
  • F5: Копировать файл;
  • F6: Переместить (переименовать) файл;
  • F8: Удалить файл;
  • F9: Вывести выпадающее меню;
  • F10: Выход из программы;
  • Tab: Переход между панелями;
  • Insert: Пометить файл для операций с несколькими файлами, например, для копирования.

3. Работа с хостингом из командной строки

Получение справочной информации

Для получения справочной информации по интересующей команде command наберите в командной строке:

для завершения работы со справкой нажмите «q».

Краткую справку по команде обычно можно получить, запустив ее с параметром —help или -h:

Перемещение по файловой системе

Вывести текущий каталог:

Перейти в домашний каталог пользователя:

Перейти в каталог tmp, размещенный в текущем каталоге:

Перейти в каталог по полному пути /home/login/sitename.ru/docs (корневой каталог сайта sitename.ru):

Перейти в родительский каталог (на уровень выше):

Перейти в предыдущий каталог:

Создание и удаление файлов и каталогов

Создать новый каталог foo в текущем каталоге:

Создать структуру каталогов foo/bar/baz в текущем каталоге:

mkdir -p foo/bar/baz

Удалить каталог foo в текущем каталоге. Каталог должен быть пуст:

Удалить каталог foo со всеми файлами и подкаталогами:

Создать пустой файл foo:

Удалить файл foo:

Просмотр и редактирование содержимого файлов

Просмотреть содержимое текстового файла (лог-файла сайта) (Для выхода нажмите «q»):

Открыть файл foo в текстовом редакторе:

Копирование и перемещение файлов

Копировать файл foo в файл bar:

Скопировать содержимое каталога old в каталог new:

Переименовать файл foo в файл bar:

Переместить файл foo в существующий каталог bar под именем baz:

Изменение прав доступа

Рекомендуемые права доступа на хостинге для файлов 644 (rw-rw-rw-), для каталогов 755 (rwxr-xr-x).

Сделать файл foo исполняемым:

Сделать файл foo доступным только для чтения:

Изменение прав доступа для всех каталогов, вложенных в каталог foo на 755:

find foo -type d -exec chmod 755 {} \;

Изменение прав доступа для всех вложенных в каталог foo файлов на 644:

find foo -type f -exec chmod 644 {} \;

Управление процессами

Показать информацию о процессах в реальном времени (Для выхода нажмите «q»):

Показать подробную информацию о всех выполняющихся процессах:

Завершить работу процесса по его идентификатору процесса (PID) 1234:

Завершить работу процесса по его имени:

Работа с архивами

Создать архив каталога docs:

tar -czf archive.tar.gz docs

Распаковать архив archive.tar.gz:

tar -xzf archive.tgz

Распаковать архив archive.zip:

Распаковать архив archive.rar:

unrar x archive.rar

Распаковать архив archive.gz:

Поиск файлов

Найти среди файлов сайта содержащие текст «login.mysql» (адрес сервера для доступа к базе данных):

grep -R «login.mysql» sitename.ru/docs

Найти в текущем каталоге и подкаталогах файлы с именем index.php:

Как установить и настроить SSH

В этой статье мы расскажем, как работает SSH-клиент, как его установить, а также как подключиться к Ubuntu и Windows 10 по SSH. Но давайте сначала разберёмся, что такое SSH.

Что такое SSH

SSH (Secure Shell) — сетевой протокол прикладного уровня, который позволяет управлять операционной системой и выполнять функцию тунеллирования TCP-соединения. Работа SSH построена на взаимодействии 2-х компонентов: SSH-сервера и SSH-клиента. Подробнее читайте в статье Что такое SSH.

SSH-сервер по умолчанию прослушивает соединения на порту 22, а также требует аутентификации сторон. Есть несколько вариантов проверки соединения:

  • по паролю. Используется чаще всего. При таком типе аутентификации между клиентом и сервером создаётся общий секретный ключ: он шифрует трафик;
  • с помощью ключевой пары. Предварительно генерируется открытый и закрытый ключ. На устройстве, с которого нужно подключиться, хранится закрытый ключ, а на сервере — открытый. При подключении файлы не передаются, система только проверяет, что устройство имеет доступ не только к открытому, но и к закрытому ключу.
  • по IP-адресу. При подключении система идентифицирует устройство по IP-адресу. Такой тип аутентификации небезопасен и используется редко.

OpenSSH (Open Secure Shell) — набор программ, который позволяет шифровать сеансы связи в сети. При таких сеансах используется протокол SSH.

OpenSSH включает в себя компоненты:

  • ssh,
  • scp,
  • sftp,
  • sshd,
  • sftp-server,
  • ssh-keygen,
  • ssh-keysign,
  • ssh-keyscan,
  • ssh-agent,
  • ssh-add.

Этот набор ПО может аутентифицировать пользователей с помощью таких встроенных механизмов как:

  • публичные ключи,
  • клавиатурный ввод: пароли и запрос-ответ,
  • Kerberos/GSS-API.

Установка OpenSSH на Ubuntu 22.04

В качестве примера мы рассмотрим установку Ubuntu 22.04. Настройка SSH Ubuntu Server 20.04 версии проходит аналогично.

При первой установке Ubuntu подключение по SSH запрещено по умолчанию. Включить доступ по SSH можно, если установить OpenSSH.

Откройте терминал с помощью комбинации клавиш Ctrl + Alt + T.
Обновите репозиторий командой:

sudo apt update

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *