Меню Рубрики

Установка debian и доступ по ssh

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

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

Настраиваем SSH в Debian

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

Установка SSH-server и SSH-client

По умолчанию SSH входит в стандартный набор утилит операционной системы Debian, однако из-за каких-либо особенностей нужные файлы могут устареть или просто отсутствовать, например, когда пользователь вручную произвел деинсталляцию. Если вы нуждаетесь в предварительной установке SSH-server и SSH-client, выполните следующую инструкцию:

  1. Откройте меню «Пуск» и запустите оттуда «Терминал». Сделать это можно и через стандартную комбинацию клавиш Ctrl + Alt + T.

Здесь вас интересует команда sudo apt install openssh-server , отвечающая за установку серверной части. Введите ее и нажмите на Enter для активации.

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

Далее потребуется добавить в систему и клиентскую часть, что касается и того компьютера, к которому в будущем будет осуществляться подключение. Для этого используется похожая команда sudo apt-get install openssh-client .

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

Управление сервером и проверка его работы

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

  1. Используйте команду sudo systemctl enable sshd , чтобы добавить сервер в автозагрузку, если это не случилось автоматически. В случае надобности отмены запуска вместе с операционной системой используйте systemctl disable sshd . Тогда для ручного запуска понадобится указывать systemctl start sshd .

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

Задействуйте команду ssh localhost для проверки сервера на работоспособность. Замените localhost на адрес локального компьютера.

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

Добавление пары ключей RSA

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

Читайте также:  Установка прицепа под погрузку

    Откройте «Терминал» и введите там ssh-keygen .

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

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

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

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

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

Копирование открытого ключа на сервер

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

Способ 1: Команда ssh-copy-id

Начнем с самого простого варианта, подразумевающего использование команды ssh-copy-id. По умолчанию эта утилита уже встроена в ОС, поэтому в предварительной инсталляции не нуждается. Синтаксис ее тоже максимально прост, а от вас потребуется выполнить такие действия:

    В консоли введите команду ssh-copy-id username@remote_host и активируйте ее. Замените username@remote_host на адрес целевого компьютера, чтобы отправка прошла успешно.

При первой попытке соединения вы увидите сообщение «The authenticity of host ‘203.0.113.1 (203.0.113.1)’ can’t be established. ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Are you sure you want to continue connecting (yes/no)? yes» . Выберите положительный ответ, чтобы продолжить подключение.

После этого утилита самостоятельно займется поиском и копированием ключа. В итоге, если все прошло успешно, на экране появится уведомление « /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed — if you are prompted now it is to install the new keys username@203.0.113.1’s password: «. Это значит, что можно вводить пароль и переходить к непосредственному управлению удаленным рабочим столом.

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

Now try logging into the machine, with: «ssh ‘username@203.0.113.1′»
and check to make sure that only the key(s) you wanted were added.

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

Способ 2: Экспорт ключа через SSH

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

На экране должно появиться уведомление

The authenticity of host ‘203.0.113.1 (203.0.113.1)’ can’t be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? .

Читайте также:  Установка задних тормозных колодок дэу матиз

Подтвердите его, чтобы продолжить соединение. Публичный ключ будет автоматически скопирован в конец конфигурационного файла «authorized_keys». На этом процедуру экспорта можно считать оконченной.

Способ 3: Ручное копирование ключа

Этот метод подойдет тем пользователям, у кого нет возможности создать удаленное подключение к целевому компьютеру, однако имеется физический доступ к нему. В таком случае ключ придется переносить самостоятельно. Для начала определите сведения о нем на серверном ПК через cat

В консоли должна отобразиться строка ssh-rsa + ключ в виде набора символов== demo@test . Теперь можно перейти к другому компьютеру, где следует создать новую директорию, введя mkdir -p

/.ssh . В ней же добавляется текстовый файл под названием authorized_keys . Осталось только вставить туда определенный ранее ключ через echo + строка публичного ключа >>

/.ssh/authorized_keys . После этого аутентификация будет доступна без предварительного ввода паролей. Осуществляется это через команду ssh username@remote_host , где username@remote_host следует заменить на имя необходимого хоста.

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

Отключение аутентификации по паролю

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

    Откройте конфигурационный файл /etc/ssh/sshd_config через любой удобный текстовый редактор, это может быть, например, gedit или nano.

В открывшемся списке отыщите строку «PasswordAuthentication» и уберите знак #, чтобы сделать эту команду активной. Поменяйте значение yes на no , чтобы отключить интересующую опцию.

По завершении нажмите на Ctrl + O, чтобы сохранить изменения.

Не меняйте название файла, а просто нажмите на Enter для применения настройки.

Можно покинуть текстовый редактор, нажав на Ctrl + X.

Все изменения вступят в силу только после перезагрузки службы SSH, поэтому сделайте это сразу же через sudo systemctl restart ssh .

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

Настройка параметра межсетевого экрана

В завершение сегодняшнего материала хотим рассказать о настройке межсетевого экрана, который будет использован для разрешений или запрещений соединений. Мы пройдемся только по основным пунктам, взяв за пример Uncomplicated Firewall (UFW).

    Для начала давайте просмотрим список существующих профилей. Введите sudo ufw app list и нажмите на Enter.

Подтвердите действие, указав пароль суперпользователя.

В списке отыщите SSH. Если эта строка там присутствует, значит, все функционирует корректно.

Разрешите соединение через эту утилиту, написав sudo ufw allow OpenSSH .

Включите межсетевой экран, чтобы обновить правила. Делается это через команду sudo ufw enable .

Вы в любой момент можете проверить текущее состояние брандмауэра, введя sudo ufw status .

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

Читайте также:  Установка кондиционера в арендованном помещении

Отблагодарите автора, поделитесь статьей в социальных сетях.

источник

Установка ssh и настройка root доступа в Debian

В этой статье мы узнаем как установить и настроить ssh сервер на Debian 9 Stretch для удаленного доступа.

Установка ssh сервера

Сначала, обновим списки пакетов с помощью команды:

Списки пакетов должны обновиться как на скриншоте ниже.

В Debian SSH-сервер представлен в виде пакета «openssh-server». Чтобы установить OpenSSH в Debian, выполните следующую команду:

Введите «Y» и нажмите для продолжения.

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

Вы должны увидеть статус «active (running)», как показано на скриншоте ниже. Это означает, что сервер SSH работает. Он прослушивает порт 22.

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

root доступ через ssh

Если вы хотите получить root доступ к серверу, то вы можете попробовать войти так:

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

Введите свой пароль от root, и вы должны войти в систему как root, как показано на скриншоте ниже.

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

Для этого откройте файл конфигурации «/etc/ssh/sshd_config» с помощью «nano»:

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

Удалите # перед PermitRootLogin и измените «prohibit-password» на «yes». Как только вы закончите, нажмите Ctrl + X, нажмите «y», а затем нажмите , чтобы сохранить файл.

Перезапустим ssh-сервер, чтобы изменения вступили в силу.

Теперь вы сможете напрямую подключиться как пользователь root, как показано на скриншоте ниже.

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

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

Чтобы узнать ip компьютера, на котором запущен ssh-сервер, выполните следующую команду с этого компьютера.

На скриншоте видно, что ip адрес — 192.168.10.82

Теперь, подключимся к этому серверу с другого компьютера:

Я подключусь к ssh-серверу с адресом 192.168.10.82 как пользователь «shovon».

После того как вы нажмете , вы должны увидеть следующее приглашение, если вы впервые подключаетесь к серверу.

Просто введите «yes» и нажмите .

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

После подключения имя хоста изменилось с «linuxhint-pc» на «linuxhint», как вы можете увидеть на скриншоте ниже.

Далее вы можете проверить, что вы подключены к удаленному серверу с помощью следующей команды:

Как вы видите, ip адрес 192.168.10.82

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

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

Видите? Мы вернулись обратно к «linuxhint-pc».

источник

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

Adblock
detector