Linux зайти через ssh

Linux зайти через ssh

Основным способом удаленного доступа к серверам под управлением операционной системы Linux является подключение по протоколу SSH. Такое соединение является безопасным, так как все передаваемые данные зашифрованы. Для того, чтобы установить SSH-подключение необходимо на удаленной машине (сервере) настроить серверную часть, а на стороне пользователя клиентскую. Существует множество программных реализаций SSH, для операционной системы Linux наиболее распространен пакет OpenSSH, а в качестве клиента для Windows чаще всего используется PuTTY.

Рассмотрим установку и настройку серверной части на примере Ubuntu Server 18.04, затем выполним подключение к серверу из операционных систем Linux и Windows.

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

1. Установка серверной части

Устанавливаем пакет с помощью команды:

sudo apt install openssh-server

Установка SSH окружения на сервер Linux

После завершения установки, убедимся, что служба запущена. Введем команду:

Проверка доступности службы SSH

Состояние “Active (running)” говорит о том, что служба работает.

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

Отключение блокировки входящих подключений брендмауэром

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

2. Подключение по SSH из Linux

Обычно в дистрибутивах Linux клиент OpenSSH установлен по умолчанию и не требует предварительной настройки. Подключение выполняется из окна терминала с помощью команды ssh. В качестве аргументов указываем имя пользователя и IP-адрес удаленного сервера. На нашем тестовом сервере, который мы используем в данном примере, существует только одна учетная запись mihail, именно её и будем использовать для подключения.

При первом подключении необходимо подтвердить добавление публичного ключа сервера в локальную базу, отвечаем “yes”, после чего вводим пароль пользователя, от имени которого выполняется подключение. Если соединение прошло успешно, вы увидите, приглашение командной строки сервера. Теперь все вводимые команды будут выполняться непосредственно на удаленной машине.

Читайте также:  Как открыть файлы на флешке в линукс

Подключение по SSH из Linux

3. Подключение по SSH из Windows

Запускаем клиент Putty и устанавливаем параметры соединения. Переключатель “Connection type” переводим в положение SSH, в поле “Host Name” вводим IP-адрес сервера, в поле “Port” оставляем значение по умолчанию 22 и нажимаем Open.

Подключение по протоколу SSH из Windows

При первом подключении Putty попросит подтвердить, что вы доверяете этому серверу, нажимаем “Yes/Да

Первое подключение по SSH с компьютера под управлением Windows

После ввода логина и пароля вы увидите командную строку удаленного сервера.

Успешное подключение

4. Аутентификация по ключу. Повышаем уровень безопасности

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

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

5. Настройка аутентификации по ключу из Linux

Генерируем публичный и приватный ключ на клиентской машине используя утилиту ssh-keygen. В процессе выполнения утилита предложит изменить путь к приватному ключу и ввести парольную фразу для дополнительной защиты. Оставляем все параметры по умолчанию нажимая Enter при выводе запросов.

Аутентификация по ключу для безопасного SSH-подключения

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

После этого необходимо открытый ключ передать на сервер, а именно скопировать содержимое файла “id_rsa.pub” в файл “~/.ssh/authorized_keys” на сервере. Воспользуемся самым простым способом, утилитой “ssh-copy-id” В качестве параметров указываем логин и IP-адрес сервера, как при обычном подключении. После ввода пароля публичный ключ клиента будет автоматически скопирован на сервер. Выполняем команду:

Читайте также:  Test Page

Авторизация SSH по ключу

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

6. Настройка аутентификации по ключу из Windows

Запускаем утилиту PUTTYGEN и нажимаем кнопку “Generate”. Для выполнения генерации необходимо произвольно перемещать указатель мышки по рабочему столу.

После того, как ключи сгенерированы, нажимаем кнопку “Save private key” и сохраняем файл с приватным ключом на диск. Место хранения закрытого ключа может быть произвольным, в дальнейшем в параметрях Putty потребуется указать путь к этому файлу. Далее выделяем и копируем в буфер обмена публичный ключ, отображаемый в верхней части окна.

Генерация приватного ключа для SSH соединения под Windows

Передачу публичного ключа на сервер выполним обычным копированием через окно терминала. Открываем Putty и подключаемся к серверу обычным способом.

Создадим в домашнем каталоге файл “.ssh/authorized_keys” и ограничим права других пользователей, так, чтобы доступ к этому файлу имел только владелец.

mkdir .ssh touch .ssh/authorized_keys chmod 700 .ssh chmod 600 .ssh/authorized_keys

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

После ввода команды щелкнем правой кнопкой мыши по окну терминала для вставки содержимого буфера обмена. Для завершения ввода нажимаем комбинацию клавиш “Ctrl+D” и отключаемся от сервера.

Загрузка ключа на сервер

Далее укажем в параметрах Putty место хранения приватного ключа и снова выполним подключение к серверу.

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

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

Источник

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

Инструкция подходит для серверов на Linux (Ubuntu/Debian/CentOS Stream).

Получите доступ к серверу, обычно у вас есть ip адрес, логин и пароль от root пользователя (или пользователя с правами root).

В терминале выполните команду вида:

замените [user] и [ip] на имя пользователя и адрес сервера, соответственно. Далее будет вопрос о доверии к этому подключении, введите yes. Введите пароль и попадете на сервер.

Создание и копирование публичного ключа SSH на сервер #

Создайте или используйте существующий ключ SSH.

Читайте также:  Linux vlan интерфейс поднять

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

Скопируйте публичный ключ на удаленный сервер:

MacOS & Linux #

На хост машине выполните команду

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@45.134.83.43 

после -i укажите путь до файла с публичным ключом.

Windows #

Откройте в текстовом редакторе файл с публичным ключом и скопируйте текст в буфер обмена.

Зайдите на удаленный сервер через консоль, создайте директорию .ssh командой md .ssh если ее нет.

Проверить список директорий, команда ls -al ~ .

Создайте в редакторе nano новый файл с именем authorized_keys:

Вставьте содержимое публичного ключа.

nano

Сохраните командой хоткеем CTRL+O , далее Enter и закройте редактор CTRL+X .

Можете для проверки вывести в консоль сервера содержимое файла:

Осталось установить права доступа для файла и директории .ssh:

chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys 

Выходите из консоли сервера exit .

Входим на сервер по SSH #

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

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

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

authorized_keys

Закрываем вход по паролю #

Доступ по паролю уже не требуется, и чтобы не было возможности подобрать пароль к пользователю root — отключим такую возможность для всех пользователей сервера. Доступ будет только по ключу SSH.

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

Зайдите на сервер командой

Откройте в текстовом редакторе nano файл с настройками доступа:

Найдите строки ( F6 включает поиск), расскомментируйте при необходимости и измените значения на следующие:

PasswordAuthentication no  ChallengeResponseAuthentication no  UsePAM no 

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

Сохраните файл сочетанием клавиш CTRL+O , далее Enter и закройте редактор CTRL+X .

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

⭐️ Теперь ваш сервер лучше защищен от несанкционированного доступа, при необходимости в более надежной защите, возможно создать пользователя без рут доступа и отключить прямой доступ к пользователю root. Но это уже совсем другая история 🙂

Источник

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