በዚህ ልጥፍ ላይ የሃርድዌር ደህንነት ቁልፎችን ከመስመር ውጭ በመጠቀም የኤስኤስኤች አስተናጋጆችን ለአደጋ ጊዜ ለመድረስ አሰራርን እናዘጋጃለን። ይህ አንድ አቀራረብ ብቻ ነው, እና ለፍላጎትዎ እንዲስማማ ማድረግ ይችላሉ. ለአስተናጋጆቻችን የSSH ሰርተፍኬት ባለስልጣንን በሃርድዌር ደህንነት ቁልፍ ላይ እናከማቻለን። ይህ እቅድ በማንኛውም ክፍት ኤስኤስኤች ላይ ይሰራል፣ SSH በነጠላ መግቢያ ላይ ጨምሮ።
ይህ ሁሉ ለምንድነው? ደህና, ይህ የመጨረሻው አማራጭ አማራጭ ነው. ይህ በሆነ ምክንያት ሌላ ምንም ነገር በማይሰራበት ጊዜ የአገልጋይዎን መዳረሻ እንዲያገኙ የሚያስችልዎ የጀርባ በር ነው።
ለምንድነው ለአደጋ ጊዜ መዳረሻ ከህዝብ/የግል ቁልፎች ይልቅ የምስክር ወረቀቶችን የምንጠቀመው?
- እንደ ይፋዊ ቁልፎች፣ የምስክር ወረቀቶች በጣም አጭር የህይወት ጊዜ ሊኖራቸው ይችላል። ለ 1 ደቂቃ ወይም ለ 5 ሰከንድ እንኳን የሚሰራ የምስክር ወረቀት ማመንጨት ይችላሉ። ከዚህ ጊዜ በኋላ የምስክር ወረቀቱ ለአዲስ ግንኙነቶች የማይጠቅም ይሆናል። ይህ ለአደጋ ጊዜ መዳረሻ ተስማሚ ነው።
- በአስተናጋጆችዎ ላይ ለማንኛውም መለያ የምስክር ወረቀት መፍጠር እና አስፈላጊ ከሆነ እንደዚህ ያሉ "የአንድ ጊዜ" የምስክር ወረቀቶችን ለባልደረባዎች መላክ ይችላሉ ።
ምን እንደፈለጉ
- የመኖሪያ ቁልፎችን የሚደግፉ የሃርድዌር ደህንነት ቁልፎች።
የመኖሪያ ቁልፎች ሙሉ በሙሉ በደህንነት ቁልፉ ውስጥ የተከማቹ ምስጠራ ቁልፎች ናቸው። አንዳንድ ጊዜ በፊደል ቁጥር ፒን ይጠበቃሉ። የነዋሪው ቁልፍ የህዝብ ክፍል ከደህንነት ቁልፍ፣ እንደ አማራጭ ከግል ቁልፍ መያዣ ጋር ወደ ውጭ መላክ ይችላል። ለምሳሌ፣ ዩቢኪይ 5 ተከታታይ የዩኤስቢ ቁልፎች የመኖሪያ ቁልፎችን ይደግፋሉ።ለአስተናጋጁ ለአደጋ ጊዜ ብቻ የታቀዱ መሆናቸው ተገቢ ነው። ለዚህ ልጥፍ አንድ ቁልፍ ብቻ እጠቀማለሁ፣ ነገር ግን ለመጠባበቂያ የሚሆን ተጨማሪ ሊኖርህ ይገባል። - እነዚያን ቁልፎች ለማከማቸት አስተማማኝ ቦታ።
- በአከባቢዎ ኮምፒውተር እና የድንገተኛ ጊዜ መዳረሻ እንዲኖሮት በሚፈልጉት አገልጋዮች ላይ የSSH ስሪት 8.2 ወይም ከዚያ በላይ ይክፈቱ። ኡቡንቱ 20.04 ከ OpenSSH 8.2 ጋር ይጓጓዛል.
- (አማራጭ ግን የሚመከር) የምስክር ወረቀቶችን ለመፈተሽ CLI መሳሪያ።
ዝግጅት
በመጀመሪያ በሃርድዌር ደህንነት ቁልፍ ላይ የሚገኝ የምስክር ወረቀት ባለስልጣን መፍጠር ያስፈልግዎታል። ቁልፉን አስገባ እና አሂድ፡
$ ssh-keygen -t ecdsa-sk -f sk-user-ca -O resident -C [security key ID]
እንደ አስተያየት (-C) አመልክቻለሁ [ኢሜል የተጠበቀ]ስለዚህ ይህ የምስክር ወረቀት ባለስልጣን የትኛው የደህንነት ቁልፍ እንደሆነ አይርሱ።
ቁልፉን ወደ ዩቢኪ ከማከል በተጨማሪ ሁለት ፋይሎች በአገር ውስጥ ይፈጠራሉ፡-
- sk-user-ca፣ በደህንነት ቁልፉ ውስጥ የተከማቸ የግል ቁልፍን የሚያመለክት የቁልፍ መያዣ፣
- sk-user-ca.pub፣ ይህም ለእውቅና ማረጋገጫ ባለስልጣንዎ ይፋዊ ቁልፍ ይሆናል።
ግን አይጨነቁ፣ ዩቢኪ ተመልሶ ሊመጣ የማይችል ሌላ የግል ቁልፍ ያከማቻል። ስለዚህ, ሁሉም ነገር እዚህ አስተማማኝ ነው.
በአስተናጋጆች ላይ፣ እንደ ስር፣ የሚከተለውን ወደ SSHD ውቅርዎ (/etc/ssh/sshd_config) ያክሉ።
TrustedUserCAKeys /etc/ssh/ca.pub
ከዚያም በአስተናጋጁ ላይ፣ የህዝብ ቁልፉን (sk-user-ca.pub) ወደ /etc/ssh/ca.pub ያክሉ
ዴሞንን እንደገና ያስጀምሩ:
# /etc/init.d/ssh restart
አሁን አስተናጋጁን ለማግኘት መሞከር እንችላለን. በመጀመሪያ ግን የምስክር ወረቀት ያስፈልገናል. ከእውቅና ማረጋገጫው ጋር የሚጎዳኝ የቁልፍ ጥንድ ይፍጠሩ፡
$ ssh-keygen -t ecdsa -f emergency
የምስክር ወረቀቶች እና የኤስኤስኤች ጥንዶች
አንዳንድ ጊዜ የምስክር ወረቀትን የህዝብ/የግል ቁልፍ ጥንድ ምትክ አድርጎ ለመጠቀም ፈታኝ ነው። ነገር ግን ተጠቃሚን ለማረጋገጥ የምስክር ወረቀት ብቻ በቂ አይደለም። እያንዳንዱ የምስክር ወረቀት ከእሱ ጋር የተያያዘ የግል ቁልፍም አለው። ለራሳችን የምስክር ወረቀት ከመስጠታችን በፊት ይህንን "የአደጋ" ቁልፍ ጥንድ ማመንጨት ያለብን ለዚህ ነው። ዋናው ነገር የግል ቁልፍ ያለንበትን ቁልፍ ጥንድ የሚያመለክት የተፈረመውን የምስክር ወረቀት ለአገልጋዩ እናሳያለን።ስለዚህ የህዝብ ቁልፍ ልውውጥ አሁንም በህይወት እና በጥሩ ሁኔታ ላይ ነው. ይህ በምስክር ወረቀቶች እንኳን ይሰራል። ሰርተፊኬቶች በቀላሉ አገልጋዩ የህዝብ ቁልፎችን የማከማቸት ፍላጎት ያስወግዳል።
በመቀጠል የምስክር ወረቀቱን ራሱ ይፍጠሩ. በ10 ደቂቃ ልዩነት ውስጥ የኡቡንቱ ተጠቃሚ ፍቃድ እፈልጋለሁ። በእርስዎ መንገድ ማድረግ ይችላሉ.
$ ssh-keygen -s sk-user-ca -I test-key -n ubuntu -V -5m:+5m emergency
የጣት አሻራዎን ተጠቅመው የምስክር ወረቀቱን እንዲፈርሙ ይጠየቃሉ። በነጠላ ሰረዝ የተለዩ ተጨማሪ የተጠቃሚ ስሞችን ማከል ትችላለህ ለምሳሌ -n ubuntu,carl,ec2-user
ያ ነው ፣ አሁን የምስክር ወረቀት አለህ! በመቀጠል ትክክለኛውን ፍቃዶች መግለጽ ያስፈልግዎታል:
$ chmod 600 emergency-cert.pub
ከዚህ በኋላ የምስክር ወረቀትዎን ይዘቶች ማየት ይችላሉ፡-
$ step ssh inspect emergency-cert.pub
የኔ ነገር ይህን ይመስላል፡-
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
እዚህ የህዝብ ቁልፉ እኛ የፈጠርነው የአደጋ ጊዜ ቁልፍ ነው፣ እና sk-user-ca ከማረጋገጫ ባለስልጣን ጋር የተያያዘ ነው።
በመጨረሻም የኤስኤስኤች ትዕዛዙን ለማስኬድ ዝግጁ ነን፡-
$ ssh -i emergency ubuntu@my-hostname
ubuntu@my-hostname:~$
- አሁን የእውቅና ማረጋገጫ ባለስልጣንዎን በሚያምን አስተናጋጅ ላይ ለማንኛውም ተጠቃሚ የምስክር ወረቀቶችን መፍጠር ይችላሉ።
- ድንገተኛ ሁኔታን ማስወገድ ይችላሉ. sk-user-caን ማስቀመጥ ይችላሉ፣ ነገር ግን እሱ በደህንነት ቁልፉ ላይ ስላለ ይህን ማድረግ አያስፈልግዎትም። ለአደጋ ጊዜ መዳረሻ ከተጠቀሙበት ዋናውን የPEM ይፋዊ ቁልፍ ከአስተናጋጆችዎ (ለምሳሌ በ ~/.ssh/authorized_keys ለ ubuntu ተጠቃሚ) ማስወገድ ሊፈልጉ ይችላሉ።
የአደጋ ጊዜ መዳረሻ፡ የድርጊት መርሃ ግብር
የደህንነት ቁልፉን ይለጥፉ እና ትዕዛዙን ያስኪዱ፡-
$ ssh-add -K
ይህ የምስክር ወረቀት ባለስልጣኑን የህዝብ ቁልፍ እና ቁልፍ ገላጭ ወደ SSH ወኪል ያክላል።
የምስክር ወረቀት ለመስራት አሁን የህዝብ ቁልፉን ወደ ውጭ ይላኩ፡
$ ssh-add -L | tail -1 > sk-user-ca.pub
የአገልግሎት ማብቂያ ጊዜ ያለው የምስክር ወረቀት ይፍጠሩ፣ ለምሳሌ ከአንድ ሰዓት ያልበለጠ፡
$ 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
እና አሁን SSH እንደገና፡-
$ ssh -i emergency username@host
የእርስዎ .ssh/config ፋይል ሲገናኝ አንዳንድ ችግሮች እየፈጠረ ከሆነ፣ እሱን ለማለፍ በ-F none አማራጭ ssh ማሄድ ይችላሉ። የምስክር ወረቀት ለባልደረባዎ መላክ ከፈለጉ ቀላሉ እና በጣም ደህንነቱ የተጠበቀ አማራጭ ነው።
በዚህ አካሄድ የምወደው የሃርድዌር ድጋፍ ነው። የደህንነት ቁልፎችዎን በደህና ውስጥ ማስቀመጥ ይችላሉ እና የትም አይሄዱም።
በቅጂ መብቶች ላይ
Epic አገልጋዮች ነው
ምንጭ: hab.com