ПредишенСледващото

Ssh (yyr) сървър на Ubuntu
Поздрави, потребители и администратори са Debian и Ubuntu. Днес искам да се спра на такива привидно очевиден темата - инсталиране и конфигуриране на SSH сървъра на Debian. Преди това не сме се придвижва.

Въведение в SSH

Техническа информация за протокола SSH

В своята работа, SSH използва следните видове криптиране. Удостоверяване се извършва с помощта на публичен ключ асиметрично криптиране (SSH1 версия - RSA, SSH2 - RSA / DSA). Обмен на данни по време на установената връзка - simmetrichnoeshifrovanie (IDEA - патентовани, DES, тройно DES (3DES), ARCFOUR, BLOWFISH, CAST128, AES / Rijndael). Целостта на предаване на данните се проверява от CRC32 версия SSH1 и HMAC-SHA1 / HMAC-MD5 - в SSH2. LempelZiv алгоритъм (LZ77) може да се използва за компресия на кодирани данни, която осигурява същото ниво на компресия като архива ZIP на. Протокол SSH-2 спецификация е описана в RFC 4251.

По-рано (SSH1) свързването се извършва по следния начин: Когато за първи път свържете клиента към сървъра (в този пример, се разбира - един компютър, работещ на SSHD демон), клиентът получил от публичен ключ сървъра и го съхранява в собствена база данни. Когато следните клиентски свързвания проверява дали ключът е променен. Delee, клиентът генерира случаен 256-битов набор от символи и набор от бъркани този публичен ключ. Сървър разшифрова тази фраза и се изпраща на клиента. Клиентът, като се уверите, че разшифровал фраза важи - да се установи връзка и фразата е била използвана по-нататък клиент и сървър, както е ключ за достъп, за да кодира предаваните данни.

В текущото изпълнение (SSH2) използват много по-сложен алгоритъм (Diffie-Hellman алгоритъм. Описана в rfc4419).

SSH протокол архитектура може да бъде разделена на няколко нива:

В слой RFC транспорт 4253 - работи на върха на TCP. Тя осигурява първоначалния обмен на ключове, комплекти за криптиране, компресия и почтеност проверка. Ниво Authentication RFC 4252 - работи на върха на транспортния слой. Тя осигурява удостоверяване на клиента и сървъра. Най-популярните методи SSH удостоверяване:

  • А Парола - метод, основан на един прост парола.
  • Публичен ключ - метод, основан на публичен ключ RSA / DSA
  • Interactive - метод, при който сървърът изпраща една или повече заявки да въведете данните на клиента и клиентът ги показва и изпраща обратно към сървъра отговор към входа на потребителя. Използва се в удостоверяването еднократна парола.
  • GSSAPI - методи за идентификация, които осигуряват удостоверяване с помощта на външни механизми като Kerberos 5 или NTLM.

Връзка протокол RFC 4254 - работи в началото на протокола за автентификация. позволява използването на установени сигурен канал за предаване на множество информационни потоци в двете посоки. Използва се за работа в черупка, трафик на тунели или копиране на файлове.

Инсталирайте OpenSSH в Debian

В Debian OpenSSH е представена от няколко пакета:

Основният - това OpenSSH сървър и OpenSSH-клиент. В този случай, той е най-често се инсталира със системата. Така че, за да инсталирате SSH сървъра в Debian Squeeze. Просто изпълнете следната команда:

Ssh (yyr) сървър на Ubuntu

По време на изпълнението на инсталацията ще се генерира автоматично необходимите ключове за криптиране (RSA и DSA). SSHD демон се добавя към стартиране и функциониране. По това в дългосрочен план, тя може да се разглежда като сървър SSH е съвсем приложима. Но настройките по подразбиране, не е правилно и безопасно.

изпълнение OpenSSH в Debian идва със следните компоненти / екип:

Всъщност, SSH клиент.

Клиент за отдалечено архивиране през SSH файлове.

FTP-като SSH клиент.

Demon всъщност осигурява сигурен достъп до ресурси.

Отделни SFTP подсистема изпълнение (от страната на сървъра). Той има повече функции от вградения Sshd.

Generator двойки ключ.

Utility, за да се провери ключа на хоста. Активиран използване на удостоверяване домакин (подобно на РШ) вместо преследвана удостоверяване по подразбиране за потребители / пароли.

Спомагателни строителни инструменти. Тя дава възможност за няколко секунди, за да се съберат публичните ключове от други домакини.

Спомагателни строителни инструменти. Той поддържа кеш на частни ключове. Кеширане ви позволява да се избегне честото въвеждане на паролата за декриптиране на ключовете, преди да ги използвате.

Спомагателни строителни инструменти. Добавя ключове към кеша SSH-агент.

SSH клиенти

/.ssh/config. В този случай, той е с предимство. Описание на този файл се показва в човека (5) ssh_config. Най-често, конфигурацията на клиент не е необходимо да се промени. Конфигурационния файл SSH ssh_config клиент:

За да се използва успешно SSH клиент за други цели, трябва: да има сървър с демона SSHD, да имате сметка на отдалечената система. В Debian, най-често използваната клиентът е SSH инструмент (OpenSSH клиент пакет). Екипите използват формата, показана на човек SSH. Накратко, форматът на SSH команда е, както следва:

В първата част - е всъщност SSH команда. Други опции са възможни (напр -p порт ще зададе нестандартен порт), а след това може би е индикация за потребителско име в името, което искате да zaloginetsya към отдалечената система. Ако потребителското име не е посочено, връзката ще бъде установена от името на текущия потребител. След това е задължително параметър - DNS име или IP на отдалечения хост. Ако магаре хост предварително определен вид команда, командата ще бъде изпълнена и свързването ще бъде отстранено, ако не е посочена команда, преводачът е започнало.

Когато първоначално се свържете със сървъра, SSH клиент издава подобно на следното:

Това съобщение ни казва, че ние сме свързани с неизвестна досега домакин с RSA ключове, които имат такъв печат и потвърждение на връзката ни е необходим. При положително (да), клиентът добавя публичния ключ на сървъра SSHD (/etc/ssh/ssh_host_rsa_key.pub) в потребителския файл

/.ssh/ known_hosts на локалния компютър. Когато клиентът се свързва с множество сървъри в даден файл може да се натрупа голям брой такива ключове. За да следите доставки всеки от ключово значение за всеки сървър, клиентът добавя към IP линия ключ и за криптиране тип на сървъра.

В допълнение към определен потребител файл за "известни домакин на сървъри", там е и глобален файл / и т.н. / SSH / ssh_known_hosts. За глобалното файл трябва да имат права за четене на всички потребители, както и да използва информацията, когато се свързвате с всеки сървър, но записът трябва да има право само на ползвателя на корен. Как да разгранича правата за достъп до файловете. Нека да разгледаме съдържанието на файла с known_hosts като пример:

В примера, низ умишлено разделена на няколко, но в действителност тя е една линия. Освен SSH команда в OpenSSH SCP команда там. че синтаксисът е много подобен на сп. с изключение на това, че пътят на копираният обект се добавят към някои от следните параметри:

където src_host - източник домакин / път / SRC / файла - източник на обекта, за да бъдат копирани, dst_host - хостът, / път / DST / файла - файла местоназначение.

Псевдоними за клиент SSH (

С използването на клиента SSH може да се направи с помощта на потребителското конфигурационен файл е по-удобно. Да кажем, че имаме някакъв глобален файл / и т.н. / SSH / ssh_config. посочване на настройките за всички хостове (домакин *). В същото време, ние имаме някои дистанционно SSH сървъра, чиито дълго име (напр 678-ssh-server.superdomen.com.ua) и нестандартен порт (например 65987), името на потребителя също е доста дълъг (например Василий-ptrov) , Всеки път, да се свърже с командването на сървъра:

ужасно неудобно и отнема време. Нека да направят живота ви по-лесно. файлът

/.ssh/config добави следната информация:

Всичко! Сега напишете в конзолата за SSH сървъра, стигаме до правилния сървър, трябва пристанището на желания потребител. Или дори като SSH себе си. Низът се разгръща автоматично в сървъра на SSH!

Други клиенти SSH

Освен стандартната Linux-SSH-клиентът има и много други, като например Windows има голям softina замазка.

OpenSSH сървър (SSHD)

След прочитане на довереник ние можем лесно да конфигурирате сървъра за да отговарят на вашите нужди. Някои от препоръките и примерите са дадени по-долу. След като редактирате sshd_config трябва да рестартирате SSHD сървър:

В OpenSSH може временно да деактивирате всяко връзка със сървъра, с изключение на ползвателя на корен. За да направите това, вие трябва да създадете файл / и т.н. / nologin. с наличието на този файл, сървърът на SSHD го премахва

/.ssh/soderzhimoe и не позволяват / силен / strongt генерира вход за всеки потребител, различен от корен.

OpenSSH типа разпознаване

Удостоверяване на потребителя парола.

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

Идентифициране на потребителите за своя публичен ключ.

Този тип удостоверяване да се отървете от на парола при свързване към сървъра. Публичен ключ се основава на проверка на съответствието със публичен ключ на клиента. който се намира на сървъра и таен ключ на клиента (потребителя). който се намира на клиента (домашната директория на потребителя

/.ssh/id_rsa). За същото като клиент-сървър проверява валидността на публичния ключ сървъра. Генериран двойка ключове се извършва полезност SSH-търсени. след което ключов 2 в потребителската директория

/.ssh/id_rsa - тайна и

/.ssh/id_rsa.pub - публично. Публичният ключ е поставен на сървъра за имена

/.ssh/authorized_keys. След това, при свързване към сървъра на потребителя, в каталози, които са съответните бутони (на клиента -

/.ssh/id_rsa. на сървъра -

/.ssh/authorized_keys) - не е необходимо да въведете парола. файлът

/.ssh/authorized_keys може последователно съдържат няколко ключове за достъп до този сървър от потребителски данни от няколко сървъра. Нека да разгледаме един практически пример от настройките на удостоверяване в публичния ключ:


За да определите типа на ключ за криптиране е настроен да -t. както и -В на опцията. дефиниране на ключови размер в байтове. Тази опция се препоръчва. В допълнение, при създаването на ключа иска определена пропуск. Това е ключът тайната парола декриптиране. които (ако е зададено) ще бъде под въпрос, когато се опитвате да се свържете. Тази опция ви позволява да криптирате таен ключ за постигане на компромис случай, който увеличава безопасността, но отрича всички удобства на влизане, без да въвеждате паролата.

Само не забравяйте да се отбележи, че миг сигурност. В случай, че ще ти счупя uchetku (която има таен ключ в дома си директория) на текущия сървър, на нападателя автоматично получава достъп, както до сървъра, който е съответния публичен ключ. Така че бъдете много внимателни!

В този раздел се използва метода на шифроване RSA. но ако всички отбори да замени RSA DSA. съответно се използва вида на DSA криптиране.

Други видове автентикация (hostbsed, GSSAPI.)

Някои други видове удостоверяване скоро могат да бъдат допълнени. Но някои не са гарантирани, за да се считат за - остаряла. Например не hostbased автентичност да бъдат разглеждани. който работи само с SSH1 протокол.

Сигурност SSH сървъра

По-долу са някои съвети, които позволяват максимално да се намали възможността за хакване на вашия сървър:

Има няколко места, където можете да кандидатствате за разрешение за проблеми SSH. Като за начало, можете да видите записи, свързани с SSH в списания /var/log/autch.log и / Var / дневник / Syslog. Ето един малък пример, когато сървърът е стартиран на стандартния порт, всяка минута от интернет е имало опити да отгатне паролата:

Както можете да видите, почти всеки втори сървър се опитва да пробие с "популярни" на имената на потребителите (корен, никой, и т.н.)

OpenSSH работа в режим на отстраняване на грешки

Ако информацията от системния регистър не е достатъчно, можете да стартирате SSHD в отстраняване на грешки режим. параметри, определящи старт демон (/ и т.н. / defauts / SSH) ключ-г. Само за диагностициране перфектен старт клиент SSH с ключ-V (за повече информация, можете да укажете -vv).

Проверете SSHD работа (ако е стартиран процес, независимо дали портът е слушане):

Проверете дали SSHD работи командата:

Проверете дали пристанищата, за да се подчиняват на командата:

  • RFC 4250 (на английски език.) - Secure Shell (SSH) протокол за присвояване на
  • RFC 4251 (на английски език.) - Secure Shell (SSH) Протокол Архитектура
  • RFC 4252 (на английски език.) - Secure Shell (SSH) протокол за удостоверяване на
  • RFC 4253 (на английски език.) - Secure Shell (SSH) Transport Layer протокол
  • RFC 4254 (на английски език.) - Shell (SSH) Протоколът на защитена връзка
  • RFC 4255 (на английски език.) - Използване на DNS за сигурно Публикуване Secure Shell (SSH) Ключови Пръстови отпечатъци
  • RFC 4256 (на английски език.) - Generic Message Authentication борса за Secure Shell протокол (SSH)
  • RFC 4335 (на английски език.) - Най-Secure Shell (SSH) Сесия Канал Break Extension
  • RFC 4344 (на английски език.) - (SSH) режимите на Secure Shell Transport Layer шифроване
  • RFC 4345 (на английски език.) - Подобрена Arcfour режими за Secure Shell (SSH) Transport Layer протокол
  • RFC 4419 (на английски език.) - Diffie-Hellman Група борса за Secure Shell (SSH) Transport Layer протокол
  • RFC 4432 (на английски език.) - RSA ключ борса за Secure Shell (SSH) Transport Layer протокол
  • RFC 4716 (на английски език.) - Най-Secure Shell (SSH) Public Key Формат на файла

С уважение, Mc.Sim!

Свързани статии

Подкрепете проекта - споделете линка, благодаря!