Прекрасно, когда нужна поддержка сайта, а ты сидишь с телефоном в руке и знаешь, чей номер набрать! Тел., Whatsapp, Viber, Telegram +7 953 5571863 Skype aitishnik
Айтишник РУ Нижний Новгород, Симферопольская, 21 ПН-ПТ 08 - 18
Настройка GNU/Linux Debian

Настройка 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. Тема статьи достаточно обширна и это скорее тема для книги, нежели для статьи. Мне бы хотелось сделать статью «на вырост», т. е. со временем дополняя её ссылками на другие...

    • Настройка FTP сервера. Конфигурация с шифрованием SSL...

      Настройка FTP сервера. Конфигурация с шифрованием SSL...Теперь изменим нашу конфигурацию ftp сервера следующим образом: анонимные пользователи не используются. Используются только виртуальные пользователи, учётные записи которых хранятся в MySQL. Для каждого пользователя можно задать свою...

    • Как обновить Debian 4 Etch до Debian 5 (Lenny)

      Как обновить Debian 4 Etch до Debian 5 (Lenny)Вот чем мне нравится Debian, так тем что можно обновить установленную систему на ходу, без какой либо переустановки. На момент написания этой статьи произошла смена стабильного дистрибутива Debian. Вместо Debian 4 Etch, ставшей теперь...

    • Изменяем приветствие в SSH Debian

      Изменяем приветствие в SSH DebianВсе, кто совершал вход в систему Debian через консоль или посредством SSH, видели следующее сообщение: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described...

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

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

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

      SSH Подключение с использованием открытого ключа...Для подключения с авторизацией по открытому ключу сначала нужно сгенерировать секретный ключ на стороне клиента. Делаем это с правами обычного пользователя: $ ssh-keygen –t rsa В процессе генерации пары ключей сначала будет предложено ввести желаемое название...