Tricks SSH Piçûk

Vê gotarê pratîkên me yên çêtirîn ji bo karanîna SSH-ê bi bandortir vedihewîne. Di wê de hûn ê fêr bibin ka meriv çawa dike:

  • Faktorek duyemîn li têketina SSH zêde bikin
  • Bi ewlehî şandina nûnerê bikar bînin
  • Ji danişîna SSH ya qutbûyî derkeve
  • Termînalek domdar vekirî bihêlin
  • Danişîna termînalê ya dûr bi hevalek re parve bikin (Zoom tune!)

Zêdekirina faktorek duyemîn li SSH-ya xwe

Hûn dikarin faktorek duyemîn a rastkirinê bi pênc awayên cihêreng li girêdanên SSH-ya xwe zêde bikin:

  1. OpenSSH-ya xwe nûve bikin û mifteya şîfrekirinê bikar bînin. Di Sibata 2020-an de, OpenSSH piştgirî ji bişkojkên şîfrekirinê yên FIDO U2F (Faktora Duyemîn a Gerdûnî) zêde kir. Ev taybetmendiyek nû ya mezin e, lê hişyariyek heye: tenê ew xerîdar û pêşkêşkerên ku OpenSSH 8.2 û bilindtir nûve kirine dê karibin bişkojkên şîfrekirinê bikar bînin, ji ber ku nûvekirina Sibatê ji wan re celebên nû yên mifteyê destnîşan dike. Kom ssh –V hûn dikarin guhertoya muwekîlê SSH û guhertoya serverê bi fermanê kontrol bikin nc [servername] 22

    Du celeb mifteyên nû li guhertoya Sibatê hatin zêdekirin - ecdsa-sk û ed25519-sk (ligel sertîfîkayên têkildar). Ji bo afirandina pelek mifteyê, tenê mifteya şîfrekirina xwe têxin û fermanê bimeşînin:
    $ ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk

    Ew ê mifteyên gelemperî û taybet biafirîne û wan bi cîhaza weya U2F re têkildar bike. Karê mifteya veşartî ya li ser cîhaza U2F ev e ku dema ku mifteya şîfrekirinê tê aktîfkirin deşîfrekera mifteya veşartî ya li ser dîskê ye.

    Wekî din, wekî faktorek duyemîn, hûn dikarin ji bo mifteyên xwe şîfreyek peyda bikin.

    Mifteya niştecîh celebek din a nifşa mifteya -sk e ku ji hêla OpenSSH ve tê piştgirî kirin. Bi vê nêzîkbûnê re, destikê li ser cîhaza U2F tête hilanîn û dihêle hûn gava ku hewce be bi mifteya şîfrekirinê re hebe. Hûn dikarin bi fermanê mifteyek niştecîh biafirînin:

    $ ssh-keygen -t ecdsa-sk -O resident -f ~/.ssh/id_ecdsa_sk

    Dûv re, ji bo ku destikê li ser cîhaza nû vegere nav bîranînê, mifteya şîfrekirinê bişopînin û fermanê bimeşînin:

    $ ssh-add -K

    Dema ku hûn bi mêvandarê ve girêdayî bibin, hûn ê hîn jî hewce bikin ku mifteya şîfrekirinê çalak bikin.

  2. PIV + PKCS11 û Yubikey bikar bînin. Girêdana bi cîhazên bi guhertoyên berê yên SSHD-ê re bi karanîna mifteyek şîfrekirinê dê nêzîkatiyek cûda hewce bike. Yubico rêbernameyek li ser karanîna U2F + SSH bi PIV / PKCS11 re heye. Ev ne heman FIDO U2F e, û her çend rêbaz dixebite, ew gelek kar hewce dike ku meriv fêr bibe ka çi sêrbaz wê dimeşîne.
  3. Agent ssh yubikey-agent xwerû bicîh bikin. Filippo Valsorda nûnerê SSH ji bo Yubikeys nivîsî. Ew bi tevahî nû ye û taybetmendiyên hindiktirîn dihewîne.
  4. Touch ID û sekey bikar bînin. Sekey kargêrek SSH-ya çavkaniyek vekirî ye ku bişkokên taybet li ser Mac-ê di nav deverek ewledar de hilîne û dihêle ku Touch ID ji bo fonksiyona gihîştinê were bikar anîn.
  5. Li ser SSH-ê Nîşanek Yekane bikar bînin. Min tutorialek nivîsand ku ji we re bibe alîkar ku hûn vê rêbazê saz bikin. Yek ji feydeyên nîşana yekane ya li ser SSH ev e ku meriv polîtîkayên ewlehiyê yên pêşkêşvanê nasnameya we bikar bîne - di nav de piştgirî ji bo pejirandina pir-faktorî (MFA).

Bikaranîna ewle ya şandina agent

Pêşkêşkirina nûnerê SHH dihêle ku mêvandarek dûr bigihîje nûnerê SSH-ya cîhaza weya herêmî. Gava ku hûn SSH-ê bi şandina nûnerê çalakkirî bikar tînin (bi gelemperî bi ssh -A), dê du kanal li ser girêdanê hebin: danişîna weya înteraktîf û kanala ji bo şandina nûnerê. Bi vê kanalê, soketa Unix-ê ku ji hêla nûnerê weya SSH-ya herêmî ve hatî afirandin bi mêvandarê dûr ve girêdayî ye. Ev rêbazek xeternak e ji ber ku bikarhênerek bi gihandina root ya li ser cîhaza dûr dikare bigihîje nûnerê weya SSH-ya herêmî û bi potansiyel we bi serhêl veşêre. Bi karanîna kargêrê standard SSH-ê ji kîta Open SSH-ê, hûn ê jî nizanin ku ev yek çêbûye. Hebûna mifteyek U2F (an Sekey) dê ji we re bibe alîkar ku hûn hewildanên karanîna nûnerê SSH-ya xwe ji derve bi bandor asteng bikin.

Tewra digel vê tedbîrê jî, ramanek baş e ku meriv şandina ajanê bi qasî ku pêkan kêm bikar bîne. Pêdivî ye ku hûn wê ji bo her danişînê bikar neynin - tenê gava ku hûn pê ewle ne ku ew ji bo danişîna heyî hewce ye şandina nûner bikar bînin.

Derketina danişîna darvekirinê

Qutbûna torê, bernameyên ku li derveyî kontrolê tevdigerin, an rêzek revê ya ku têketina klavyeyê asteng dike, hemî sedemên mimkun e ku danişînek SSH bi dawî bibe.

Gelek awayên ji bo qedandina danişîna darvekirinê hene:

  1. Dema ku torê qut bibe bixweber derkeve. Pêdivî ye ku hûn tiştên jêrîn li .ssh/config-a xwe zêde bikin:
    ServerAliveInterval 5
    ServerAliveCountMax 1

    ssh her saniye ServerAliveInterval dê echo ji mêvandarê dûr re bişîne da ku pêwendiyê kontrol bike. Ger bêtir ji ServerAliveCountMax echo bersivek nestînin, ssh dê dema girêdanê biqedîne û ji danişînê derkeve.

  2. Ji rûniştinê vekişin. ssh ji hêla xwerû ve karaktera ~ (tilde) wekî karaktera xwe ya kontrolê bikar tîne. Tîm~. girêdana vekirî digire û we vedigerîne termînalê. (Rêzên revê tenê dikarin li ser rêzek nû werin nivîsandin.) The ~? dê navnîşek bêkêmasî ya emrên ku di vê danişînê de peyda dibin nîşan bide. Ji kerema xwe bala xwe bidin ku ji bo nivîsandina karaktera ~ li ser klavyeyên navneteweyî, dibe ku hûn hewce ne ku bişkoja ~-ê du caran bixin.

Çima danişînên cemidî qet çêdibin? Dema ku Înternet ava bû, komputer kêm kêm ji cihekî diçûn cihekî. Dema ku hûn laptopan bikar tînin û di navbera gelek torên IPv4 WiFi de diguherin, navnîşana IP-ya we diguhezîne. Ji ber ku SSH xwe dispêre girêdanên TCP, ku di encamê de xwe dispêre xalek dawî ya bi navnîşanek IP-ya domdar, gava ku hûn di navbera toran de biguhezînin, girêdanên SSH-ya we ji destika soketê winda dikin û bi bandor xwe winda dikin. Dema ku navnîşana IP-ya we diguhezîne, wext digire ku stika tora we windabûna destikê bibîne. Dema ku pirsgirêkên torê çêdibin, em naxwazin yek ji girêkên li ser pêwendiya TCP-ê zû biqede. Ji ber vê yekê, protokol dê hewl bide ku berî ku di dawiyê de dev jê berde çend caran daneyan ji nû ve bişîne. Di vê navberê de, di termînala we de danişîn dê cemidî xuya bibe. IPv6 gelek taybetmendiyên têkildarî tevgerê zêde dike ku dihêle amûrek dema ku torê diguhezîne navnîşana xaniyê xwe biparêze. Dibe ku rojek ev nebe pirsgirêkek wusa.

Meriv çawa termînalek domdar li ser mêvandarek dûr vekirî bihêle

Du nêzîkatiyên cûda hene ku meriv çawa pêwendiya xwe diparêze dema ku di navbera torên cihêreng de digerin an jî dixwazin ji bo demekê veqetînin.

1. Sûd bigire mosh an Termînala Herheyî

Heke hûn bi rastî hewceyê pêwendiyek ku di heman demê de gava ku hûn di navbera torê de diguherin jî qut nebe, şêlê mobîl Mosh bikar bînin. Ev şêlek ewledar e ku pêşî destana SSH bikar tîne û dûv re ji bo dirêjahiya danişînê li kanala xweya şîfrekirî vediguhezîne. Bi vî rengî Mosh kanalek veqetandî, pir domdar û ewledar diafirîne ku dikare li ber qutbûna Internetnternetê, guheztina navnîşana IP-ya laptopa we, qutbûna giran a torê, û hêj bêtir, û ev hemî bi saya sêrbaziya girêdanên UDP, û her weha ji Mosh protokola hevdemkirinê.

Ji bo ku hûn Mosh bikar bînin hûn ê hewce bikin ku wê hem li ser xerîdar û hem jî li ser serverê saz bikin, û ji bo seyrûsefera UPD ya ne-girêdayî bi mêvandarê xweya dûr ve portên 60000-61000 vekin. Di pêşerojê de, girêdana wê dê bes be ku bikar bîne mosh user@server.

Mosh di asta ekran û lêdana bişkojkan de dixebite, ku ev yek ji şandina pêvekek binary ya têketin û derketinê ya standard di navbera xerîdar û servera SSH de gelek avantajan dide. Ger em tenê hewce ne ku ekran û bişkojkan hevdeng bikin, wê hingê vegerandina pêwendiyek şikestî paşê pir hêsantir dibe. Dema ku SSH dê her tiştê ku qewimî tampon bike û bişîne, Mosh tenê pêdivî ye ku bişkojkên tampon bike û çarçoweya paşîn a pencereya termînalê bi xerîdar re hevdeng bike.

2. Tmux bikar bînin

Heke hûn dixwazin "wek ku hûn dixwazin werin û biçin" û danişîna termînalê li ser mêvandarek dûr bidomînin, bikar bînin multiplexer termînalê tmux. Ez ji tmux hez dikim û her dem wê bikar tînim. Ger pêwendiya SSH-ya we qut bibe, wê hingê ji bo ku hûn vegerin danişîna tmux-a xwe, hûn tenê hewce ne ku ji nû ve werin girêdan û têkevin tmux attach. Digel vê yekê, ew xwedan taybetmendiyên ecêb ên wekî tablo û panelên hundurîn-termînalê, mîna tabloyên di termînala iOS-ê de, û şiyana parvekirina termînalan bi yên din re heye.

Hin kes hez dikin ku tmux-a xwe bi Byobu-yê xweştir bikin, pakêtek ku karanîna tmux-ê bi girîngî baştir dike û gelek kurtebirên klavyeyê lê zêde dike. Byobu bi Ubuntu, û sazkirina wê li ser Mac-ê bi rêya Homebrew hêsan e.

Parvekirina danişîna termînalê ya dûr bi hevalek re

Carinan, dema ku pirsgirêkên tevlihev li ser serverên xwe dakêşin, dibe ku hûn bixwazin danişînek SSH bi kesê ku ne di heman odeyê de ye bi we re parve bikin. tmux ji bo vî karî bêkêmasî ye! Ew tenê çend gavan digire:

  1. Piştrast bikin ku tmux li ser girêka bastionê we, an li ser serverek ku hûn ê pê re bixebitin, hatî saz kirin.
  2. Hûn ê her du jî hewce ne ku SSH-ê li cîhazê bi karanîna heman hesabê bikar bînin.
  3. Divê yek ji we tmux-ê bixebite da ku danişînek tmux dest pê bike.
  4. Ya din divê tmux attach bike
  5. Voila! Te termînalek hevpar heye.

Ger hûn danişînên tmux-ê yên pir-bikarhênerî yên sofîstîketir dixwazin, tmate biceribînin, qalibek tmux-ê ku danişînên termînalê yên hevpar pir hêsantir dike.

Source: www.habr.com

Ji bo malperên bi parastina DDoS, serverên VPS VDS mêvandariya pêbawer bikirin 🔥 Hostinga malperê ya pêbawer bi parastina DDoS, serverên VPS VDS bikirin | ProHoster