A ṣe ilana ilana kan fun iraye si pajawiri si awọn ogun SSH pẹlu awọn bọtini ohun elo

A ṣe ilana ilana kan fun iraye si pajawiri si awọn ogun SSH pẹlu awọn bọtini ohun elo

Ninu ifiweranṣẹ yii, a yoo ṣe agbekalẹ ilana kan fun iraye si pajawiri si awọn ogun SSH nipa lilo awọn bọtini aabo ohun elo ni aisinipo. Eyi jẹ ọna kan nikan, ati pe o le mu u ni ibamu si awọn iwulo rẹ. A yoo tọju aṣẹ ijẹrisi SSH fun awọn agbalejo wa lori bọtini aabo ohun elo. Eto yii yoo ṣiṣẹ lori fere eyikeyi OpenSSH, pẹlu SSH pẹlu ami-iwọle ẹyọkan.

Kini gbogbo eyi fun? O dara, eyi jẹ aṣayan asegbeyin ti o kẹhin. Eyi jẹ ilẹkun ẹhin ti yoo gba ọ laaye lati wọle si olupin rẹ nigbati fun idi kan ko si ohun miiran ti o ṣiṣẹ.

Kilode ti o lo awọn iwe-ẹri dipo ti gbogbo eniyan/awọn bọtini ikọkọ fun iraye si pajawiri?

  • Ko dabi awọn bọtini gbangba, awọn iwe-ẹri le ni igbesi aye kukuru pupọ. O le ṣe ina ijẹrisi ti o wulo fun iṣẹju 1 tabi paapaa awọn aaya 5. Lẹhin asiko yii, ijẹrisi naa yoo di ailagbara fun awọn asopọ tuntun. Eyi jẹ apẹrẹ fun iwọle si pajawiri.
  • O le ṣẹda ijẹrisi kan fun eyikeyi akọọlẹ lori awọn agbalejo rẹ ati, ti o ba jẹ dandan, fi iru awọn iwe-ẹri “akoko kan” ranṣẹ si awọn ẹlẹgbẹ.

Kini o nilo

  • Awọn bọtini aabo ohun elo ti o ṣe atilẹyin awọn bọtini olugbe.
    Awọn bọtini olugbe jẹ awọn bọtini cryptographic ti o wa ni ipamọ patapata laarin bọtini aabo. Nigba miiran wọn ni aabo nipasẹ PIN alphanumeric. Apa gbangba ti bọtini olugbe le jẹ okeere lati bọtini aabo, ni yiyan pẹlu mimu bọtini ikọkọ. Fun apẹẹrẹ, awọn bọtini USB jara Yubikey 5 ṣe atilẹyin awọn bọtini olugbe. Fun ifiweranṣẹ yii Emi yoo lo bọtini kan nikan, ṣugbọn o yẹ ki o ni afikun kan fun afẹyinti.
  • Ibi ailewu lati tọju awọn bọtini wọnyẹn.
  • Ṣii ẹya 8.2 tabi ga julọ lori kọnputa agbegbe rẹ ati lori olupin ti o fẹ lati ni iwọle si pajawiri. Awọn ọkọ oju omi Ubuntu 20.04 pẹlu OpenSSH 8.2.
  • (iyan, ṣugbọn iṣeduro) Ohun elo CLI kan fun ṣiṣe ayẹwo awọn iwe-ẹri.

Igbaradi

Ni akọkọ, o nilo lati ṣẹda aṣẹ iwe-ẹri ti yoo wa lori bọtini aabo ohun elo. Fi bọtini sii ki o si ṣiṣẹ:

$ ssh-keygen -t ecdsa-sk -f sk-user-ca -O resident -C [security key ID]

Gẹgẹbi asọye (-C) Mo tọka [imeeli ni idaabobo]nitorinaa o ko gbagbe bọtini aabo wo ni aṣẹ ijẹrisi jẹ ti.

Ni afikun si fifi bọtini kun Yubikey, awọn faili meji yoo ṣe ipilẹṣẹ ni agbegbe:

  1. sk-user-ca, mimu bọtini kan ti o tọka si bọtini ikọkọ ti o fipamọ sinu bọtini aabo,
  2. sk-user-ca.pub, eyi ti yoo jẹ bọtini gbogbo eniyan fun aṣẹ ijẹrisi rẹ.

Ṣugbọn maṣe yọ ara rẹ lẹnu, Yubikey n tọju bọtini ikọkọ miiran ti ko le gba pada. Nitorinaa, ohun gbogbo ni igbẹkẹle nibi.

Lori awọn ọmọ-ogun, bi gbongbo, ṣafikun (ti o ko ba ti tẹlẹ) atẹle si iṣeto SSHD rẹ (/etc/ssh/sshd_config):

TrustedUserCAKeys /etc/ssh/ca.pub

Lẹhinna lori agbalejo, ṣafikun bọtini gbogbo eniyan (sk-user-ca.pub) si /etc/ssh/ca.pub

Tun daemon bẹrẹ:

# /etc/init.d/ssh restart

Bayi a le gbiyanju lati wọle si agbalejo. Ṣugbọn akọkọ a nilo ijẹrisi kan. Ṣẹda bata bọtini kan ti yoo ni nkan ṣe pẹlu ijẹrisi naa:

$ ssh-keygen -t ecdsa -f emergency

Awọn iwe-ẹri ati awọn orisii SSH
Nigba miiran o jẹ idanwo lati lo ijẹrisi kan bi rirọpo fun bata bọtini ita gbangba/aladani. Ṣugbọn ijẹrisi nikan ko to lati jẹri olumulo kan. Iwe-ẹri kọọkan tun ni bọtini ikọkọ ti o ni nkan ṣe pẹlu rẹ. Eyi ni idi ti a nilo lati ṣe ipilẹṣẹ bọtini bata “pajawiri” yii ṣaaju ki a to fun ara wa ni ijẹrisi kan. Ohun pataki ni pe a ṣafihan ijẹrisi ti a fowo si olupin naa, n tọka si bata bọtini fun eyiti a ni bọtini ikọkọ.

Nitorinaa paṣipaarọ bọtini gbangba ṣi wa laaye ati daradara. Eyi ṣiṣẹ paapaa pẹlu awọn iwe-ẹri. Awọn iwe-ẹri nirọrun imukuro iwulo fun olupin lati tọju awọn bọtini gbangba.

Nigbamii, ṣẹda ijẹrisi funrararẹ. Mo nilo aṣẹ olumulo ubuntu ni aarin iṣẹju 10. O le ṣe ni ọna rẹ.

$ ssh-keygen -s sk-user-ca -I test-key -n ubuntu -V -5m:+5m emergency

A yoo beere lọwọ rẹ lati fowo si iwe-ẹri nipa lilo itẹka rẹ. O le ṣafikun awọn orukọ olumulo afikun ti o yapa nipasẹ aami idẹsẹ, fun apẹẹrẹ -n ubuntu,carl, ec2-user

Iyẹn ni, bayi o ni ijẹrisi kan! Nigbamii o nilo lati pato awọn igbanilaaye to tọ:

$ chmod 600 emergency-cert.pub

Lẹhin eyi, o le wo awọn akoonu inu ijẹrisi rẹ:

$ step ssh inspect emergency-cert.pub

Eyi ni ohun ti temi dabi:

emergency-cert.pub
        Type: [email protected] user certificate
        Public key: ECDSA-CERT SHA256:EJSfzfQv1UK44/LOKhBbuh5oRMqxXGBSr+UAzA7cork
        Signing CA: SK-ECDSA SHA256:kLJ7xfTTPQN0G/IF2cq5TB3EitaV4k3XczcBZcLPQ0E
        Key ID: "test-key"
        Serial: 0
        Valid: from 2020-06-24T16:53:03 to 2020-06-24T17:03:03
        Principals:
                ubuntu
        Critical Options: (none)
        Extensions:
                permit-X11-forwarding
                permit-agent-forwarding
                permit-port-forwarding
                permit-pty
                permit-user-rc

Nibi bọtini ita gbangba jẹ bọtini pajawiri ti a ṣẹda, ati sk-user-ca ni nkan ṣe pẹlu aṣẹ iwe-ẹri.

Lakotan a ti ṣetan lati ṣiṣẹ aṣẹ SSH:


$ ssh -i emergency ubuntu@my-hostname
ubuntu@my-hostname:~$

  1. O le ṣẹda awọn iwe-ẹri fun eyikeyi olumulo lori agbalejo ti o gbẹkẹle aṣẹ ijẹrisi rẹ.
  2. O le yọ pajawiri kuro. O le fipamọ sk-user-ca, ṣugbọn iwọ ko nilo lati niwon o tun wa lori bọtini aabo. O tun le fẹ yọkuro bọtini gbangba PEM atilẹba kuro ninu awọn agbalejo rẹ (fun apẹẹrẹ ni ~/.ssh/authorized_keys fun olumulo ubuntu) ti o ba lo fun iraye si pajawiri.

Wiwọle pajawiri: Eto iṣe

Lẹẹmọ bọtini aabo ati ṣiṣe aṣẹ naa:

$ ssh-add -K

Eyi yoo ṣafikun bọtini gbogbo eniyan ti aṣẹ ijẹrisi ati asọye bọtini si aṣoju SSH.

Bayi bọtini ilu okeere lati ṣe ijẹrisi kan:

$ ssh-add -L | tail -1 > sk-user-ca.pub

Ṣẹda ijẹrisi pẹlu ọjọ ipari ti, fun apẹẹrẹ, ko ju wakati kan lọ:

$ ssh-keygen -t ecdsa -f emergency
$ ssh-keygen -Us sk-user-ca.pub -I test-key -n [username] -V -5m:+60m emergency
$ chmod 600 emergency-cert.pub

Ati nisisiyi SSH lẹẹkansi:

$ ssh -i emergency username@host

Ti faili .ssh/config rẹ ba nfa awọn iṣoro diẹ nigbati o ba sopọ, o le ṣiṣe ssh pẹlu aṣayan -F ko si lati fori rẹ. Ti o ba nilo lati fi ijẹrisi ranṣẹ si ẹlẹgbẹ ẹlẹgbẹ kan, aṣayan ti o rọrun julọ ati aabo julọ ni Magic Wormhole. Lati ṣe eyi, o nilo awọn faili meji nikan - ninu ọran wa, pajawiri ati pajawiri-cert.pub.

Ohun ti Mo fẹran nipa ọna yii ni atilẹyin ohun elo. O le fi awọn bọtini aabo rẹ sinu ailewu ati pe wọn kii yoo lọ nibikibi.

Lori awọn ẹtọ ti Ipolowo

Awọn olupin apọju Ṣe poku VPS pẹlu awọn alagbara to nse lati AMD, Sipiyu mojuto igbohunsafẹfẹ soke si 3.4 GHz. Iṣeto ti o pọju gba ọ laaye lati yanju fere eyikeyi iṣoro - awọn ohun kohun Sipiyu 128, 512 GB Ramu, 4000 GB NVMe. Darapo mo wa!

A ṣe ilana ilana kan fun iraye si pajawiri si awọn ogun SSH pẹlu awọn bọtini ohun elo

orisun: www.habr.com

Fi ọrọìwòye kun