Сървър за удостоверяване с помощта на клавишите със SSH

OpenSSH освен паролите поддържа няколко различни начина за идентификация. Той може да бъде конфигуриран да използва методи PAM (за включване удостоверяване модули), протокол / отговор, Kerberos, аутентикация, доверени хостове и такива Екзотика като ключове X509. Но най-популярните е метод за самоличност / Pubkey.

Ето и някои от положителните аспекти на този вид удостоверяване:

  • Никой не може да влезете в сървъра с профила си, тъй като те трябва да имат частен ключ и парола.
  • Администраторът на сървъра дори да премахнете паролата за него, за да се освободи от дискредитиране.
  • Можете да използвате SSH-агент полезност, и ще предоставя информация за разпознаване за вас.
  • Можете да зададете някои ограничения, като например забрана на пристанище спедиция, изпълнение
    някои програми и т.н.

В тази статия ще разгледаме начина на създаването и конфигурирането на ключ сметка.

Създаване на идентичност / Pubkey

При първоначалното прилагане SSHv1 бихте могли да създадете идентичност, която е един чифт RSA публични и частни ключове. Форматът на тези ключови SSHv2 е бил променен, стоманени подкрепена RSA ключове и DSA, а това удостоверяване е преименуван Pubkey. В контекста на тази статия, тези означения ще бъдат използвани взаимозаменяемо, тъй като прилагане еднакви функции.

Използване на помощната програма за SSH-търсени ще се създадат необходимите бутони:

mydesktop $ SSH-търсени -t RSA
Генериране на публичен / частен RSA двойка ключове.
Въведете файл, в който да съхраните ключ (/home/xahria/.ssh/id_rsa):
Въведете парола (празно за не пропуска): (въведете парола)
Въведете същата парола отново: (въведете парола)
Вашата идентификация е записан в /home/xahria/.ssh/id_rsa.
Вашият публичен ключ е записан в /home/xahria/.ssh/id_rsa.pub.
Ключът за идентификация е:
2с: 3е: А4 е: 46: 23 47: 19: F7: DC: 74: 9Ь: 69: 24: 4а: 44 xahria @ mydesktop

mydesktop $ CD $ HOME / .ssh
mydesktop $ ли -l
-RW ------- 1 xahria hatchclan 883 21 януари 11:52 id_rsa
-RW-R - r-- 1 xahria hatchclan 223 21 януари 11:52 id_rsa.pub

mydesktop $ котка id_rsa
-----ЗАПОЧНЕТЕ RSA частен ключ -----
MIICWgIBAAKBgQCc + 1oixZ / g84gpZH0NeI + CvVoY5O0FOCSpFCbhUGJigQ6VeKI5
gpOlDztpJ1Rc + KmfZ2qMaftwwnLmefhk1wPcvfZvvLjfdmHY5 / LFgDujLuL2Pv + F
7tBjlyX9e9JfXZau2o8uhBkMbb3ZqYlbUuuoCAnUtL5uZUiiHM0BAtnGAd6epAYE
gBHw1xnqsy + mzbuWdLEVF7crlUSsctwGapb6 / SEQgEXFm0RITQ3jCY808NjRS3hW
Z + uCCO8GGUsn2bZpcGXa5vZzACvZL8epJoMgQ4D0T50rAkEA0AvK4PsMF02Rzi4E
mXgzd1yCa030LYR / AkApG1KT // 9gju6QCXlWL6ckZg / QoyglW5myHmfPR8tbz + 54
/ Lj06BtBA9iag5 + х + caV7qKth1NPBbbUF8Sbs / WI5NYweNoG8dNY2e0JRzLamAUk
jK2TIwbHtE7GoP / Za3NTZJm2Ozviz8 + PHPIEyyt9 / kzT0 + yo3KmgsstlqwIBIwKB
XdBh42izEWsWpXf9t4So0upV1DEcjq8CQQDEKGAzNdgzOoIozE3Z3thIjrmkimXM
J / Y3xQJBAMEqZ6syYX / + URT + any1LADRebCq6UA076Sv1dmQ5HMfPbPuU9d3yOqV
j0Fn2H68bX8KkGBzGhhuLmbrgRqr3 + SPM / frUj3UyYxns5rnGspRkGB3AkALCbzH
9EAV8Uxn + Jhe5cgAC / hTPPdiwTJD7MpkNCpPuKRwrohytmNAmtIpKipAf0LS61np
wtq59ssjBG / a4ZXNn32n78DO0i6zVV5vwf8rv2sf
-----END RSA частен ключ -----

mydesktop $ котка id_rsa.pub
SSH-RSA AAAAB3NzaC1yc2EAAAABIwAAAcMJy5nn4ZNcD3L32b7y433Zh2IEAnPt
aIsWf4POIKWR9DXiPgr1aGOTtBTgkqRQm4VBiYoEOlXiiOYKTpQ87aSdUXPipn
2dqjGn7OfyxYA7oy7i9j7 / hYytkyMGx7ROxqD / 2WtzU2SZtjs74s / PjxzyBMsr
ff5M09PsqNypoLLLZas = xahria @ mydesktop

Имайте предвид, че "SSH-RSA ... xahria @ mydesktop" е една линия, а не няколко.

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

Видове ключове за SSH

Когато създавате ключовете ви посочи -t опция RSA. Този параметър, ние посочете вида на клавиш, за да се създаде. Възможно е също така да се създаде rsa1 ключове, RSA или DSA. Обърнете внимание на разликите между тях:

Можете да промените името на файла, използвайки опцията -f за име на файла. Ако не укажете името на файла, ключовете ще се съхраняват в директорията $ HOME / .ssh / с името взето по подразбиране за този тип ключ.

Резолюция Идентичност / Pubkey удостоверяване на сървъра

След като сме създали ключовете, трябва да се даде възможност на вида на сървъра и удостоверяването SSH. На първо място, ние определяме типа на удостоверяване - Pubkey или лична, задайте следното в sshd_config:

# Трябва ли да се даде възможност за самоличност (SSH версия 1) идентификация?
RSAAuthentication да

# Трябва ли да се даде възможност Pubkey (SSH версия 2) идентификация?
PubkeyAuthentication да

# Къде търсим оторизирани публични ключове?
# Ако не започне с наклонена черта, то е
# В сравнение с домашната директория на потребителя
AuthorizedKeysFile .ssh / authorized_keys

Цифрите по-горе право да Идентичност / Pubkey удостоверяване за SSH протокол версия 1 и 2, както и да проверят наличието на публичен ключ във файла $ HOME / .ssh / authorized_keys.

Проверете за наличността на тези редове в конфигурационния файл sshd_config (обикновено намиращи се в директорията / и т.н. / SSH /), добавете и рестартирайте услугата, ако е необходимо.

съдържание на authorized_keys файловите

# Сега нека да влезете и да се създаде authorized_keys файл
mydesktop $ SSH SSH сървър
парола xahria @ SSH-сървъра: (въведете парола)

# Създаване на .ssh реж ако все още не съществува
SSH сървър $ защитен режим .ssh
SSH сървър $ коригират 700 .ssh
SSH сървър $ CD .ssh

# Съеадини RSA Pubkey ние просто качено в
# Файлът authorized_keys. (Това ще създаде
# Ако все още не съществува.)
SSH сървър $ котка. /id_rsa_mydesktop.pub >> authorized_keys

# Да се ​​провери на файла
SSH-сървъра $ котка authorized_keys
SSH-RSA AAAAB3NzaC1yc2EAAAABIwAAAcMJy5nn4ZNcD3L32b7y433Zh2IEAnPt
aIsWf4POIKWR9DXiPgr1aGOTtBTgkqRQm4VBiYoEOlXiiOYKTpQ87aSdUXPipn
2dqjGn7OfyxYA7oy7i9j7 / hYytkyMGx7ROxqD / 2WtzU2SZtjs74s / PjxzyBMsr
ff5M09PsqNypoLLLZas = xahria @ mydesktop

# Уверете се, че разрешенията са параноични
SSH сървър $ CHMOD 600 authorized_keys

# Отличен, нека да излезете.
SSH сървър $ изход

Правилата за следните действия: копирате публичния ключ RSA на сървъра с помощта на ВКП или друг метод. Създаване authorized_keys файл, ако .ssh директория не съществува - да се създадат. Добавянето на публичния ключ RSA във файла за authorized_keys. Проверете, задаване на разрешения и излизане.


[Име на рекламната = »Google Adsense»]

Това е време да се провери. ние navayal:

mydesktop $ SSH SSH сървър
Въведете парола за ключа "/home/xahria/.ssh/id_rsa":

Вашият SSH клиент първо ще се опита да премине удостоверяване Pubkey / идентичност, в случай на повреда - удостоверяване с парола. Той ще търси трите имена на файлове, по подразбиране, ако не укажете файл с ключ, ясно и да го дам на сървъра.

Да разгледаме процеса на свързване на разделяне:

Всичко това е прозрачно за потребителя. Ако искате да гледате на фазата на връзката, след това да използвате ключови -v:

mydesktop $ SSH SSH сървър
OpenSSH_3.8.1p2, SSH протоколи 1.5 / 2.0, OpenSSL 0x009060cf
.
debug1: идентичност файл /home/xahria/.ssh/identity тип 0
debug1: идентичност файл /home/xahria/.ssh/id_rsa тип 1
debug1: Remote протокол версия 1.99, софтуер за отдалечено версия OpenSSH_3.7.1p2
.
debug1: SSH2_MSG_SERVICE_ACCEPT получи
debug1: заверки, че може да продължи: publickey, парола, клавиатура-интерактивен
debug1: Следващия метод за идентификация: publickey
debug1: Предлагането на публичен ключ: /home/xahria/.ssh/id_rsa
debug1: Сървърът приема ключ: pkalg SSH-RSA blen 149 lastkey 0x601d0 загатват 1
debug1: PEM_read_PrivateKey провали
debug1: прочетете PEM частен ключ направено: типа
Въведете парола за ключа "/home/xahria/.ssh/id_rsa": (Въведете грешна парола)

debug1: PEM_read_PrivateKey провали
debug1: Следващия метод за идентификация: клавиатура-интерактивен
debug1: заверки, че може да продължи: publickey, парола, клавиатура-интерактивен
debug1: Следващия метод за идентификация: парола
парола xahria @ SSH-сървъра: (Въведете Unix парола)

За по-голяма яснота, в този пример, ще се въведе грешен код дума за дешифриране на частния ключ. Може да забележите, че са открити самоличността на файлове и id_rsa, въпреки че те могат да се използват само с SSHv2.

Изборът ключове

Ако имате един ключ за всеки вид, можете да използвате стандартните файлови имена и SSH клиент сами по себе си и да намерят тяхната употреба, но това може да се случи, че използвате за удостоверяване на различни файлове:

Използва се за определяне на ключа можете да използвате -i private_key_file опции:

mydesktop $ SSH -i

/.ssh/special_ssh_key SSH сървър
Въведете парола за ключа "/home/xahria/.ssh/special_ssh_key":

Следваща опция ще създаде във вашия

/.ssh/config дисплей индикация espolzuemogo ключ:

mydesktop $ котка

/.ssh/config
Хост SSH сървър
IdentityFile

mydesktop $ SSH SSH сървър
Въведете парола за ключа "/home/xahria/.ssh/special_ssh_key":

Моля, имайте предвид, че променливата на конфигурационния винаги IdentityFile, независимо дали се използват или Pubkey идентичност.

парола за сигурност

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

authorized_keys2

По-старите версии на OpenSSH, използвайки два различни публичен ключ за достъп до сървъра - authorized_keys за идентичности (SSHv1) и authorized_keys2 за Pubkeys (SSHv2). По-късно е взето решение, че е глупаво и сега използва един файл за всички видове ключове, но без правилното ключът ще бъде проверена и authorized_keys2. По-късни версии на OpenSSH може и да спрат подкрепата authorized_keys2 всички.

Не е да се мисли за това ограничение, създаване на твърда връзка към authorized_keys2 authorized_keys файл.

SSH сървър $ CD .ssh
SSH-сървъра $ ли-л
-RW ------- 1 xahria hatchclan 883 Jan 21 11:52 authorized_keys

# Направете твърда връзка, така че те са един и същи файл, просто различен
имена # файл.
SSH сървър $ LN authorized_keys authorized_keys2

SSH-сървъра $ ли-л
-RW ------- 2 xahria hatchclan 883 Jan 21 11:52 authorized_keys
-RW ------- 2 xahria hatchclan 883 21 януари 11:52 authorized_keys2

Така че ние отговори на нуждите на всяка версия на OpenSSH.


[Име на рекламната = »Google Adsense»]