Самое прекрасное — это когда нужна поддержка сайта, а ты сидишь с телефоном
в руке и ЗНАЕШЬ, чей номер набрать! т. +7 831 4637611 моб. +7 910 3820622Айтишник РУ Нижний Новгород, Симферопольская, 21
A+ A A-

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

Довольно часто, администрирование сервера на базе Linux происходит посредством удалённого доступа. А основным способом удалённого администрирования является администрирование с помощью SSH. Об этом и пойдёт речь в этой статье. Данная статья входит в цикл статей о настройке коммуникационного сервера класса SOHO под управлением Debian/GNU Linux и подразумевается, что дальнейшая настройка сервера будет производиться с помощью SSH. Цикл статей ещё в процессе написания.

Но вернёмся к SSH. Что такое SSH и чем же он так хорош? SSH – это сетевой протокол для TCP-соединений, который позволяет удалённо управлять операционной системой. SSH – это аббревиатура от Secure SHell, что переводится как безопасная оболочка. Вся передаваемая по этому протоколу информация сжимается и надёжно шифруется, а так же производится проверка модификации пакетов. Злоумышленники могут прослушивать сеть, перехватывать и изменять пакеты, но они этим ничего не добьются. Кроме администрирования, через SSH можно передавать другие сетевые протоколы, создавая защищённые туннели.

Раньше для удалённого администрирования компьютеров на базе Linux использовали протоколы RLOGIN, TELNET и RSH. Но пароли и данные в этих протоколах не шифровались, пакеты могли быть перехвачены и модифицированы, а злоумышленник мог подменить IP клиента и, использовав перехваченные данные пройти аутентификацию. Естественно, что в незащищённых сетях работать по этим протоколам небезопасно и в 1995 году была разработана первая версия протокола SSH (SSH-1). Уже в следующем году была разработана вторая, более защищённая версия протокола SSH (SSH-2). Первая и вторая версии протоколов несовместимы между собой. В своей работе мы будем использовать протокол SSH только второй версии и всё, что будет описано ниже, подразумевает использование SSH-2.

Существует несколько реализаций программного обеспечения для SSH. Мы установим одну из его разновидностей — OpenSSH. OpenSSH расшифровывается как Open BSD Secure SHell и изначально был разработан для BSD систем.

В пакет OpenSSH входит несколько программ: scp (Secure CoPy), ssh (Secure SHell) и sftp (Secure File Transfer Protocol). Первая из них нужна для защищённого копирования файлов с одного компьютера на другой, вторая предоставляет защищённый доступ к оболочке. В основном именно она используется для удалённого администрирования, позволяя работать с другим компьютером так, как будто вы физически работаете за этим компьютером. Третья программа из пакета OpenSSH нужна для защищённой передачи файлов по протоколу FTP.

Программа ssh использует технологию клиент/сервер. Проверим, установлены ли в системе какие либо пакеты openssh:

$ aptitude search ^openssh

На выходе получаем:

iA openssh-blacklist

iA openssh-blacklist-extra

i openssh-client

p openssh-server

Как видим, клиентская часть программы установлена и в дополнение к ней для удовлетворения зависимостей автоматически установлены пакеты openssh-blacklist и openssh-blacklist-extra. Устанавливаем серверную часть, естественно с правами суперпользователя:

# aptitude install openssh-server

Во время установки будут сгенерированы ключи и перезапущен соответствующий демон - sshd. Можно было бы установить openssh в интерактивном режиме одной задачей (см. Aptitude интерактивный режим), но в этом нет большого смысла, так как метапакет и так содержит только один пакет openssh-server.

Проверяем, запущен ли sshd:

# ps ax | grep sshd

Если видим примерно такие строки, то всё в порядке:

910 ? Ss 0:00 /usr/sbin/sshd

1190 tty1 S+ 0:00 grep sshd

Состояние сервера ssh можно проверить следующим способом:

# /etc/init.d/ssh status

Если сервер работает и запущен, то видим следующее сообщение:

sshd is running

Управление сервером осуществляется так же в командной строке:

# /etc/init.d/ssh {start|stop|reload|force-reload|restart|try-restart|status}

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

Прежде чем подключиться к нашему серверу, поговорим об аутентификации (проверке подлинности) в SSH. При подключении по SSH используются три вида аутентификации: аутентификация по паролю, аутентификация по ключу хоста и аутентификация по открытому ключу. Мы не будем рассматривать аутентификацию по паролю в чистом виде, как небезопасную. Рассмотрим разницу между аутентификацией по ключу хоста и аутентификацией по открытому ключу. При первом подключении с использованием аутентификации по ключу хоста открытый ключ хоста (сервера) копируется на компьютер-клиент в профиль пользователя, инициировавшего удалённое подключение, в файл /.ssh/known_hosts. При последующих подключениях копия открытого ключа на клиенте сравнивается с открытым ключом на сервере и далее следует запрос пароля для пользователя. При использовании аутентификации по открытому ключу, пара ключей генерируется не на хосте (сервере), а на клиенте и полностью его идентифицирует. Открытый ключ шифруется и копируется на сервер. При подключении происходит сравнение копии открытого ключа и оригинала и если ключи совпали, происходит вход на удалённый компьютер.

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

Не забывайте, что у нас вы можете не только купить готовый сайт, но и подобрать подходящий тариф поддержки сайта, а так же зарегистрировать домен в одной из двухсот доменных зон и выбрать недорогой тариф хостинга! У нас же вы можете заказать продвижение сайта в поисковых системах.Айтишник РУ

Об авторе:

ZolkinМеня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

 

Ещё статьи о Debian

    • Установка Debian

      Установка DebianЭта статья об установке операционной системы Debian GNU/Linux. Тема статьи достаточно обширна и это скорее тема для книги, нежели для статьи. Мне бы хотелось сделать статью «на вырост», т. е. со временем дополняя её ссылками на другие...

    • Управление пакетами с помощью aptitude в Debian...

      Управление пакетами с помощью aptitude в Debian...После того, как подключены репозитории и настроено обновление системы, самое время заняться установкой необходимого программного обеспечения. Программное обеспечение для Debian распространяется в виде пакетов и исходного кода. Причём используется собственный формат пакетов — т. н. deb -...

    • SSH Подключение с использованием ключа хоста...

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

    • Генерация ключей SSH

      Генерация ключей SSHМы знаем, что при подключении с использованием аутентификации с ключом хоста открытый ключ сервера копируется на компьютер-клиент. А где находятся ключи на сервере? На сервере они лежат в директории /etc/ssh. В Debian при установке...

    • Как обновить Debian 6 Squeeze до Debian 7 Wheezy

      Как обновить Debian 6 Squeeze до Debian 7 WheezyПрошло более двух месяцев с момента выхода новой стабильной версии операционной системы Debian GNU/Linux – Debian 7 (Wheezy). За это время были исправлены ошибки и даже вышла новая версия – 7.1. А это значит, что теперь можно и...

    • Настройка DHCP в Debian 5 (Lenny)

      Настройка  DHCP в Debian 5 (Lenny)DHCP реализован в Debian в виде двух частей: серверной (dhcp3-server) и клиентской (dhcp3-client). Серверная часть отвечает за назначение и отзыв IP-адресов клиентам, при входе и выходе из сети. Клиентская часть запускается на стороне...