Linux / Unix စစ်ဌာနချုပ်: sshd

အမည်

sshd - OpenSSH SSH ကို daemons

အနှစ်ချုပ်

sshd [- deiqtD46] [- ခ-bits] [- f config_file] [- login_grace_time] [- host_key_file] [- key_gen_time k] [- option ကို o] [- p ဆိပ်ကမ်းကို] [- ဦး Len]

ဖေါ်ပြချက်

sshd (SSH ကို daemons) ကဖြစ်ပါတယ် daemons အစီအစဉ်ကို ssh (1) သည်။ အတူတကွဤအစီအစဉ်များ rlogin အစားထိုးရန် နှင့် rsh နှင့်လုံခြုံရေး encrypt လုပ်ထားတဲ့ဆက်သွယ်ရေး အနေနဲ့မလုံခြုံကွန်ယက်နှစ်ခုစိတ်မချရကောင်းကင်ဗိုလ်ခြေအရှင်အကြား။ အဆိုပါအစီအစဉ်များကိုထည့်သွင်းခြင်းနှင့်တတ်နိုင်သမျှသုံးစွဲဖို့အဖြစ်လွယ်ကူသောဖြစ်ရည်ရွယ်ပါသည်။

sshd client များအနေဖြင့်ဆက်သွယ်မှုများအတွက်စကားကိုနားထောင်သော daemons ဖြစ်ပါတယ်။ ဒါဟာတစ်ဦးချင်းစီအဝင်ချိတ်ဆက်မှုအတွက်အသစ်တစ်ခု daemons forks rc ဒါဟာပုံမှန်အား / / etc ကနေ Boot တက်မှာစတင်ခဲ့ခြင်းဖြစ်သည်။ လမ်းဆုံလမ်းခွ daemons သော့ချက်ဖလှယ်မှု, encryption ကို, စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်း, command ကိုကွပ်မျက်နှင့်ဒေတာများလဲလှယ်ကိုင်တွယ်။ sshd ၏ဤအကောင်အထည်ဖော်ရေးတွင် SSH protocol ကိုဗားရှင်း 1 နှင့်တစ်ပြိုင်နက် 2 နှစ်ဦးစလုံးထောက်ခံပါတယ်။

SSH ကိုပရိုတိုကောဗားရှင်း 1

တစ်ခုချင်းစီကိုအိမ်ရှင်ဟာ host-တိကျတဲ့ RSA key ကို (သာမန်အားဖြင့် 1024-bits) ကိုအိမ်ရှင်ခွဲခြားသတ်မှတ်ဖို့အသုံးပြုပါတယ်။ အဆိုပါ daemons စတင်လိုက်တာနဲ့ထို့အပြင်, တကဆာဗာကို RSA key ကို (သာမန်အားဖြင့် 768 bits) ကိုထုတ်ပေးပါတယ်။ အသုံးပြုခဲ့ပြီးနဲ့ Disk တွင်သိမ်းထားသောဘယ်တော့မှလျှင်ဒီ key ပုံမှန်အားဖြင့်တိုင်းနာရီ regenerated ဖြစ်ပါတယ်။

တစ်ဦးကို client ချိတ်ဆက်အခါတိုင်းအဆိုပါ daemons ယင်း၏အများပြည်သူနှင့် host server ကိုသော့နှင့်အတူတုံ့ပြန်။ အဆိုပါ client ကိုပြောင်းလဲမပေးတော်မူကြောင်းကိုအတည်ပြုရန်၎င်း၏ကိုယ်ပိုင်ဒေတာဘေ့စဆန့်ကျင် RSA အိမ်ရှင် key ကိုနှိုင်းယှဉ်။ အဆိုပါ client ကိုထို့နောက် 256-bit မှာကျပန်းနံပါတ်တစ်ခုကိုထုတ်ပေးပါတယ်။ ဒါဟာအိမ်ရှင်သော့နှင့်ဆာဗာသော့ချက်နှစ်ဦးစလုံးသုံးပြီးဒီကျပန်းနံပါတ်တစ်ခုကို encrypt နှင့်ဆာဗာဖို့ encrypt လုပ်ထားတဲ့အရေအတွက်ကပေးပို့သည်။ နှစ်ဖက်စလုံးကထို့နောက် session တစ်ခုအားလုံးကိုနောက်ထပ်ဆက်သွယ်ရေး encrypt လုပ်ကိုအသုံးပြုသည်တစ်ဆက်ရှင်ကီးအဖြစ်ဤကျပန်းနံပါတ်တစ်ခုကိုသုံးပါ။ အဲဒီ session ၏ကျန် 3DES default အနေဖြင့်အသုံးပြုလျက်ရှိကြောင်းနှင့်အတူတစ်သမားရိုးကျ cipher လက်ရှိ Blowfish သို့မဟုတ် 3DES သုံးပြီး encrypt လုပ်ထားတဲ့ဖြစ်ပါတယ်။ Client အရွေးချယ် encryption ကို algorithm ကို ဆာဗာကကမ်းလှမ်းသောသူတို့အားအနေဖြင့်သုံးစွဲဖို့။

ထို့နောက်ဆာဗာနှင့် client ကိုတစ်ဦး authentication ကိုပေးတဲ့ dialog ရိုက်ထည့်ပါ။ အဆိုပါ client ကို .rhosts authentication ကိုသုံးပြီးကိုယ်နှိုက်ကစစ်မှန်ကြောင်းသက်သေပြဖို့ကြိုးစားပါတယ်, RSA အိမ်ရှင်စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်း, RSA စိန်ခေါ်မှု-တုံ့ပြန်မှုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်း, ဒါမှမဟုတ်နှင့်အတူပေါင်းစပ် authentication ကို .rhosts password ကို-based authentication ကို

ဒါကြောင့်အခြေခံကျကျမလုံခြုံ, သို့သော်ဆန္ဒရှိလျှင်ဆာဗာ configuration ဖိုင်ထဲမှာဖွင့်ထားနိုငျသောကွောငျ့ Rhosts authentication ကိုပုံမှန်အားဖြင့်မသန်စွမ်းဖြစ်ပါတယ်။ System ကိုလုံခြုံရေး rshd rlogind နှင့် rexecd မဟုတ်လျှင်တိုးတက်သည်မဟုတ် (အရှင်လုံးဝစက်သို့ rlogin နှင့် rsh ကို disable) မသန်စွမ်းဖြစ်ကြသည်။

SSH ကိုပရိုတိုကောဗားရှင်း 2

version 2 အကျင့်ကိုကျင့်အလားတူ: တစ်ခုချင်းစီကိုအိမ်ရှင်အိမ်ရှင်ခွဲခြားသတ်မှတ်ဖို့အသုံးပြုတဲ့အိမ်ရှင်-တိကျတဲ့သော့ချက် (RSA သို့မဟုတ် DSA) ရှိပါတယ်။ အဆိုပါ daemons စတင်လိုက်တာနဲ့သို့သော်တစ်ခုကိုဆာဗာသော့ချက် generate မထားဘူး။ ရှေ့ဆက်လုံခြုံရေးတစ်ဦး Diffie-Hellman တို့ key ကိုသဘောတူညီချက်မှတဆင့်ပေးအပ်သည်။ ဒီ key သဘောတူညီချက် a shared session တစ်ခု key မှာရလဒ်များ။

အဲဒီ session ၏ကျန်တစ်အချိုးကျတဲ့စာဝှက်ဖေါ်နည်း, လက်ရှိတွင် 128 bit AES, Blowfish, 3DES, CAST128, Arcfour, 192 bit AES, ဒါမှမဟုတ် 256 bit AES သုံးပြီး encrypt လုပ်ထားတဲ့ဖြစ်ပါတယ်။ အဆိုပါ client ကိုဆာဗာကကမ်းလှမ်းသောသူတို့အားအနေဖြင့်သုံးစွဲဖို့အတွက် encryption ကို algorithm ကိုရွေးချယ်ပါ။ ထို့အပြင် session တစ်ခုသမာဓိရှိတစ်ဦး cryptographic မက်ဆေ့ခ်ျကိုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းကုဒ် (hmac-SHA1 သို့မဟုတ် hmac-MD5) မှတဆင့်ပေးအပ်သည်။

protocol version ကို 2 အသုံးပြုသူ (PubkeyAuthentication) သို့မဟုတ် client ကိုအိမ်ရှင် (HostbasedAuthentication) authentication ကိုနည်းလမ်း, သမားရိုးကျ password ကိုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းနှင့်စိန်ခေါ်မှု-တုံ့ပြန်မှုကိုအခြေခံပြီးနည်းလမ်းများအခြေစိုက် public key ကိုပေးပါသည်။

command Execution နှင့်ဒေတာများထပ်ဆင့်ပို့

client ကိုအောင်မြင်စွာသူ့ဟာသူ authenticates လျှင်, session တစ်ခုပြင်ဆင်နေများအတွက်ပေးတဲ့ dialog ထဲသို့ဝင်သည်။ ဤအချိန်တွင် client ကိုတစ်ဦး Pseudo-TTY ချထားပေး X11 ဆက်သွယ်မှု forwarding TCP / IP ကိုဆက်သွယ်မှုများကိုတဆင့်ပို့ခြင်း, သို့မဟုတ်လုံခြုံရုပ်သံလိုင်းကျော် authentication ကိုအေးဂျင့်ကွန်နက်ရှင်တဆင့်ပို့ခြင်းနှင့်တူသောအရာတို့ကိုရန်တောင်းဆိုနိုင်ပါသည်။

နောက်ဆုံးအနေနဲ့ client ကို command တစ်ခုတစ် shell ကိုသို့မဟုတ်သေဒဏ်စီရင်တောင်းဆိုဖြစ်စေ။ အဆိုပါနှစ်ဖက်ထို့နောက် session တစ်ခု mode ကိုရိုက်ထည့်ပါ။ ဒီ mode မှာ, ဘေးထွက်သည့်အချိန်တွင်မဆို data ပို့စေခြင်းငှါလည်းကောင်း, ဒီလိုအချက်အလက်ပေးပို့နေသည် / shell ကိုသို့မဟုတ် command ကိုဆာဗာဘက်မှာ, နှင့် client ကိုဘက်ပေါ်တွင်အသုံးပြုသူ terminal မှ။

အသုံးပြုသူအစီအစဉ်ကိုအဆုံးသတ်အပေါင်းတို့နှင့်တကွပေးပို့ X11 နှင့်အခြားဆက်သွယ်မှုများကိုပိတ်ထားကြပြီသောအခါ, ဆာဗာကို client နှင့်နှစ်ဖက်စလုံးကထွက်ပေါက်မှ command ကိုထွက်ပေါက် status ကိုပေးပို့သည်။

sshd command-line ရွေးချယ်စရာတစ်ခုသို့မဟုတ် configuration file ကို အသုံးပြု. configured နိုင်ပါသည်။ command-line options များအတွက် configuration ဖိုင်ထဲမှာသတ်မှတ်ထားသောတန်ဖိုးများကို override ။

က hangup signal ကိုလက်ခံရရှိသည့်အခါ sshd နာမတော်ကိုအမှီ ပြု. နှင့်အတူသူ့ဟာသူကွပ်မျက်ခြင်းဖြင့် SIGHUP ကဆိုလိုသည်မှာ, / usr / sbin / sshd အဖြစ်စတင်ခဲ့သည်၎င်း၏ configuration ဖိုင် rereads

အောက်မှာဖေါ်ပြတဲ့အတိုင်းရွေးချယ်စရာနေသောခေါင်းစဉ်:

-b-bits

အဆိုပါပေါ်ပင် protocol ကိုဗားရှင်း 1 server ကိုသော့ခ (ပုံသေ 768) တွင်-bits များ၏အရေအတွက်ဖေါ်ပြသည်။

-D

ဒီဘာဂ်မုဒ်။ ဆာဗာစနစ်မှတ်တမ်းမှ verbose ဒီဘာဂ် output ကိုပို့ပေးနှင့်နောက်ခံကိုယ်တိုင်ကကိုမထားပါဘူး။ ဆာဗာလည်းအလုပ်လုပ်မည်မဟုတ်ပေနှင့်တစ်ဦးတည်းသာကွန်နက်ရှင်ကို process ပါလိမ့်မယ်။ ဒီ option ကိုသာဆာဗာဒီဘာဂင်များအတွက်ရည်ရွယ်ပါသည်။ အကွိမျမြားစှာ -D option ဒီဘက်ဂ်အဆင့်တိုးမြှင့်။ အများဆုံး 3 ဖြစ်ပါတယ်။

-e

ဒီ option ကိုသတ်မှတ်ထားသောအခါ sshd အစားစနစ်မှတ်တမ်းများ၏စံအမှားဖို့ output ကိုပေးပို့ပါလိမ့်မယ်။

-f configuration_file

အတွက် configuration ဖိုင်၏အမည်ဖေါ်ပြသည်။ ကို default / etc / ssh / sshd_config sshd မျှ configuration ဖိုင်ရှိလြှငျကိုစတငျဖို့ငြင်းဆန်သည်။

-g login_grace_time

(120 စက္ကန့် default) client များသူတို့ကိုယ်သူတို့ authenticate ရန်အဘို့အကျေးဇူးတော်အချိန်ပေးသည်။ client ကိုဒီအများအပြားစက္ကန့်, ဆာဗာကို disconnect နှင့်ထွက်ပေါက်အတွင်းအသုံးပြုသူ authenticate ပျက်ကွက်လျှင်။ သုည၏အဖြေတန်ဖိုးကိုအဘယ်သူမျှမကန့်သတ်ဖော်ပြသည်။

-h host_key_file

ဟာ host key ကိုဖတ်ပါသောထံမှဖိုင်တစ်ဖိုင်ဖေါ်ပြသည်။ sshd (ပုံမှန် host key file တွေကိုမည်သူမဆိုပေမယ့်အမြစ်အားဖြင့်ပုံမှန်အားဖြင့်ဖတ်လို့ရအောင်မဟုတ်ကဲ့သို့) အမြစ်အဖြစ် run မထားဘူးလျှင်ဒီ option ပေးထားရမည်ဖြစ်သည်။ ကို default protocol ကိုဗားရှင်း 1 / etc / ssh / ssh_host_key ဖြစ်ပါသည်, နှင့် / etc / ssh / ssh_host_rsa_key နှင့် protocol ကိုဗားရှင်း 2. အဘို့ / etc / ssh / ssh_host_dsa_key ဒါဟာကွဲပြားခြားနားသော protocol ကိုဗားရှင်းများနှင့်အိမ်ရှင်သော့ချက်အဘို့အမျိုးစုံ host key ဖိုင်တွေရှိသည်ဖို့ဖြစ်နိုင် algorithms ။

-i

sshd inetd ကနေ run ခံကြောင်းဖေါ်ပြသည်။ sshd က client ကိုတုံ့ပြန်နိုင်ပြီး, ဒီစက္ကန့်ပိုင်း၏သောင်းချီယူစေခြင်းငှါရှေ့တော်၌ဆာဗာသော့ချက် generate ရန်လိုအပ်ပါသည်ဘာဖြစ်လို့လဲဆိုတော့ inetd ကနေ run ပုံမှန်အားဖြင့်တော့မဟုတ်ပါဘူး။ clients သော့ချက်အခါတိုင်း regenerated ခဲ့သည်ဆိုပါကရှည်လျားလွန်းစောင့်ဆိုင်းရန်ရှိသည်လိမ့်မယ်။ သို့သော် inetd ထံမှ sshd သုံးပြီးသေးငယ်တဲ့ key ကိုအရွယ်အစား (ဥပမာ, 512) ဖြင့်ဖြစ်နိုင်ပေမည်။

-k key_gen_time

အဆိုပါပေါ်ပင် protocol ကိုဗားရှင်း 1 server ကိုသော့ချက် (default အနေနဲ့ 3600 စက္ကန့်, ဒါမှမဟုတ်တစ်နာရီ) regenerated ဘယ်လိုမကြာခဏဖေါ်ပြသည်။ မျှမျှတတမကြာခဏ key ကိုအသစ်ပြန်ထွက်များအတွက်လှုံ့ဆျောမှုသော့ချက်ဘယ်နေရာမှာမဆိုသိမ်းဆည်းထားမဟုတ်ကြောင်းဖြစ်တယ်, တစ်နာရီခန့်အကြာတွင်ကစက်သို့အက်သို့မဟုတ်ရုပ်ပိုင်းဆိုင်ရာသိမ်းဆည်းရမိရင်တောင်ကြားဖြတ်ဆက်သွယ်ရေးဖြည်များအတွက် key ကို recover လုပ်ဖို့မဖြစ်နိုင်ဖြစ်လာသည်။ သုည၏အဖြေတန်ဖိုး key ကို regenerated ခြင်းကိုဘယ်တော့မှလိမ့်မည်ဟုဖော်ပြသည်။

-O option ကို

အတွက် configuration ဖိုင်ထဲမှာအသုံးပြုတဲ့ format နဲ့ options များပေးရန်အသုံးပြုနိုင်ပါသည်။ ဤသည်အဘယ်သူမျှမကသီးခြား command-line အလံလည်းမရှိရာအဘို့ options များသတ်မှတ်ခြင်းများအတွက်အသုံးဝင်သည်။

-p port ကို

ဆာဗာဆက်သွယ်မှု (က default 22) များအတွက်စကားကိုနားထောင်သောဆိပ်ကမ်းဖေါ်ပြသည်။ အကွိမျမြားစှာဆိပ်ကမ်းကိုရွေးချယ်စရာခွင့်ပြုထားပါသည်။ တစ်ဦး command-line ဆိပ်ကမ်းကိုသတ်မှတ်ထားသောသောအခါအတွက် configuration ဖိုင်ထဲမှာသတ်မှတ်ထားသော port များလျစ်လျူရှုနေကြပါတယ်။

-q

ဆိတ်ငြိမ်တဲ့ mode ကို။ အဘယ်အရာကိုမျှစနစ်မှတ်တမ်းထံသို့စေလွှတ်သည်။ ပုံမှန်အားဖြင့်အစအဦး, စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းနှင့် connection တစ်ခုချင်းစီ၏ရပ်စဲ logged နေကြသည်။

-t

test mode ကို။ သော့အတွက် configuration file နဲ့စိတ်ဖောက်ပြန်၏တရားဝင်မှုသာစစ်ဆေးပါ။ ဤသည်ရွေးချယ်စရာပြောင်းလဲနိုင်ပါသည်ဖွဲ့စည်းမှုပုံစံအဖြစ်ယုံကြည်စိတ်ချရသော sshd ကို update များအတွက်အသုံးဝင်သည်။

Len -u

ဒီ option ကဝေးလံခေါင်သီ host name ကိုရရှိထားသူသော utmp ဖွဲ့စည်းပုံထဲမှာလယ်ပြင်၏အရွယ်အစားကိုသတ်မှတ်အသုံးပြုသည်။ အဆိုပါဖြေရှင်းပြီး host name ကိုပိုရှည် Len ထက်လျှင်တွေက dotted decimal value ကိုအစားအသုံးပြုလိမ့်မည်။ ဒီလယ်ကွင်းနေဆဲထူးခြားဖော်ထုတ်ခံရဖို့လျှံအလွန်ရှည်လျားအိမ်ရှင်အမည်များနှင့်အတူကောင်းကင်ဗိုလ်ခြေအရှင်ခွင့်ပြုပါတယ်။ သတ်မှတ်ခြင်း - u0 သာတွေက dotted decimal လိပ်စာများကို utmp ဖိုင်ထဲသို့သွင်းထားသင့်ကြောင်းဖော်ပြသည်။ - u0 အောင်ထံမှ sshd တားဆီးဖို့လည်းအသုံးပြုနိုင်တာဖြစ်ပါတယ် DNS request ကို ပုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းယန္တရားသို့မဟုတ် configuration ကိုကလိုအပ်တယ်မဟုတ်လျှင်။ DNS ကိုလိုအပ်စေခြင်းငှါ authentication ယန္တရားများ RhostsAuthentication RhostsRSAAuthentication HostbasedAuthentication ပါဝင်သည်နှင့်သော့ချက်ဖိုင်ထဲမှာတစ်ဦးထံမှ = ပုံစံ-စာရင်း option ကိုသုံးနိုင်သည်။ DNS ကိုလိုအပ်ကြောင်း configuration options များ AllowUsers သို့မဟုတ် DenyUsers အတွက် USER @ HOST ကပုံစံကို အသုံးပြု. ပါဝင်သည်

-D

ဒီ option ကိုသတ်မှတ်ထားသောအခါ sshd detach မည်မဟုတ်နှင့်တစ်ဦး daemons ဖြစ်လာမထားဘူး။ ဤသည် sshd ၏လွယ်ကူသောစောင့်ကြပ်ကြည့်ရှုခွင့်ပြု

-4

တပ်ဖွဲ့များသာ IPv4 လိပ်စာများကိုသုံးစွဲဖို့ sshd

-6

တပ်ဖွဲ့များသာ IPv6 addresses များကိုသုံးစွဲဖို့ sshd

configuration ဖိုင်ဖွ

sshd / etc / ssh / sshd_config ထံမှ configuration ကိုဒေတာဖတ် (သို့မဟုတ်နှင့်အတူသတ်မှတ်ထားသောဖိုင်ကို - က command line ပေါ်, f) ။ အဆိုပါဖိုင်ပုံစံနှင့် configuration options များ sshd_config5 တှငျဖျောပွထားနေကြသည်။

login လုပ်ငန်းစဉ်

အသုံးပြုသူတစ်ဦးကိုအောင်မြင်စွာအတွက်တွင်းသို့အခါ, sshd အောက်ပါမ:

  1. ဝင်ရောက်ရန်တစ်ဦး TTY အပေါ်ဖြစ်ပါသည်, နှင့်မျှမ command ကို အကယ်. (ထို configuration ဖိုင်ဒါမှမဟုတ် $ မူလစာမျက်နှာသဖြင့်တားဆီးမဟုတ်လျှင် Sx FILES အပိုင်းကိုတွေ့မြင် .hushlogin /), ထုတ်သတ်မှတ်ထားသောနောက်ဆုံးရဲ့ login အချိန်နှင့် / etc / motd ခဲ့တာဖြစ်ပါတယ်။
  2. ဝင်ရောက်ရန်တစ်ဦး TTY အပေါ်ဖြစ်လျှင်, မှတ်တမ်းများအချိန် login ။
  3. စစ်ဆေးမှုများ / etc / nologin ကထုတ် contents တွေကိုတည်ရှိနှင့် (အမြစ်မဟုတ်လျှင်) လက်မလျော့ဘူးလို့ပြောထားတယ်ဆိုရင်။
  4. သာမန်အသုံးပြုသူအခွင့်ထူးနှင့်အတူ run ဖို့အပြောင်းအလဲများ။
  5. အခြေခံပတ်ဝန်းကျင်တက်ကိုသတ်မှတ်ပေးသည်။
  6. ကတည်ရှိခြင်းနှင့်သုံးစွဲသူများအား၎င်းတို့၏ပတ်ဝန်းကျင်ကိုပြောင်းလဲခွင့်ပြုလျှင် $ HOME / .ssh / ပတ်ဝန်းကျင်ဖတ်တယ်။ sshd_config5 အတွက် PermitUserEnvironment option ကိုကြည့်ရှုပါ။
  7. အသုံးပြုသူရဲ့ Home Directory ကိုမှအပြောင်းအလဲများ။
  8. $ HOME / .ssh / rc တည်ရှိပါကပြေး; အခြားသူ etc / ssh / sshrc ကပြေး, တည်ရှိ / လျှင်, မဟုတ်ရင် xauth ပြေး။ အဆိုပါ `` rc '' ဖိုင်တွေစံ input ကိုအတွက် X11 authentication ကို protocol ကိုနှင့် cookie ကိုပေးအပ်ထားတယ်။
  9. အသုံးပြုသူရဲ့ shell ကိုသို့မဟုတ် command ကို run ပေးနိုင်ပါတယ်။

Authorized_Keys File Format

$ HOME / .ssh / authorized_keys protocol ကိုဗားရှင်း 1 နှင့် protocol ကိုဗားရှင်း 2. AuthorizedKeysFile အတွက် public key ကိုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်း (PubkeyAuthentication) အနေနဲ့အခြားရွေးချယ်စရာ file ကိုသတ်မှတ်ဖို့အသုံးပြုစေခြင်းငှါအဘို့အ RSA authentication များကိုခွင့်ပြုထားပါသည်သော public keys တွေကိုစာရင်းပြုစုသောက default ဖိုင်ဖြစ်ပါသည်။

ဖိုင်တစ်ခုချင်းစီကိုလိုင်းတဦးတည်းသော့ချက် (က `# '' နှင့်အတူစတင်ဗလာလိုင်းများနှင့်လိုင်းများမှတ်ချက်အဖြစ်လျစ်လျူရှုနေကြပါတယ်) ပါရှိသည်။ ရွေးချယ်မှုများ, bits သည်, ထပ်ကိန်း, ကိန်းပကတိတန်ဖိုး, မှတ်ချက်: တစ်ခုချင်းစီကို RSA public key ကိုနေရာများအားဖြင့်ကွဲကွာအောက်ပါနယ်ပယ်ပါဝင်ပါသည်။ ရွေးချယ်မှုများ, keytype, Base64 encoded သော့မှတ်ချက်: တစ်ခုချင်းစီ protocol ကိုဗားရှင်း 2 public key ကိုပါဝင်ပါသည်။ အဆိုပါရွေးချယ်မှုများစိတ်ကြိုက်ရွေးနိုင်တယ်; ယင်း၏ရှေ့မှောက်တွင်လိုင်းနံပါတ်သို့မဟုတ်မပါ (options များလယ်ကွင်းနံပါတ်နှင့်အတူစတင်သည်ဘယ်တော့မှ) နဲ့စတင်သည်ရှိမရှိဆုံးဖြတ်တာဖြစ်ပါတယ်။ အဆိုပါ-bits, ထပ်ကိန်း, ကိန်းပကတိတန်ဖိုးနှင့်မှတ်ချက်လယ်ကွင်း protocol ကိုဗားရှင်း 1 များအတွက် RSA key ကိုပေး၏ မှတ်ချက်လယ်ကိုဘာမှများအတွက်အသုံးပြုသည်မဟုတ် (သို့သော်တံခါးသော့ကိုသိရှိနိုင်ဖို့အသုံးပြုသူများအတွက်အဆင်ပြေဖြစ်နိုင်သည်) ။ protocol ကိုဗားရှင်း 2 များအတွက် keytype `` ssh-dss '' 'သို့မဟုတ် `` ssh-RSA' 'ဖြစ်ပါသည်

ဒီဖိုင်ထဲမှာလိုင်းများပုံမှန်အားဖြင့်ရာပေါင်းများစွာသောဖြစ်ကြောင်းမှတ်ချက် bytes (ကြောင့် public key ကို encoding က၏အရွယ်အစား၏) ရှည်လျား။ သင်တို့အထဲ၌သူတို့ကိုရိုက်ချင်ကြပါဘူး, အစား, အ identity.pub id_dsa.pub ဒါမှမဟုတ် id_rsa.pub ဖိုင်ကိုကူးယူပြီးတည်းဖြတ်။

sshd protocol ကို 1 နှင့် protocol ကို 768 bits သည် 2 သော့အဘို့အနိမ့်ဆုံး RSA သော့ချက်ကိန်းပကတိတန်ဖိုးအရွယ်အစားအတည်ပြုပေးမှာ။

အဆိုပါရွေးစရာများ (ပစ္စုပ္ပန်လျှင်) ကော်မာ-separated option ကိုသတ်မှတ်ချက်များထားရှိရေး။ အဘယ်သူမျှမနေရာနှစ်ဆကိုးကားအတွင်း မှလွဲ. ခွင့်ပြုထားပါသည်။ အောက်ပါ option ကိုသတ်မှတ်ချက်များ (သော့ချက်စာလုံးများကိစ္စတွင်-အာရုံမခံစားနိုင်သောဖြစ်ကြောင်း option ကိုသတိပြုပါ) ထောက်ခံနေကြသည်:

ကနေ = ပုံစံ-စာရင်း

public key ကိုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းများအပြင်၌, ဝေးလံခေါင်သီအိမ်ရှင်၏ canonical နာမကိုအမှီပုံစံများ၏ကော်မာ-separated စာရင်းထဲတွင်ပစ္စုပ္ပန်ဖြစ်ရပါမည်ကြောင်းသတ်မှတ်ရန် ( `* '` နှင့်?' သံခိတ်အဖြစ်အစေခံ) ။ အဆိုပါစာရင်းကိုလည်း `သူတို့နှင့်အတူ prefixing အားဖြင့် negated ပုံစံများပါဝင်နိုင်ပါသည်! ' ; ကို Canon host name ကိုတစ်ဦး negated ပုံစံကိုက်ညီလျှင်, key ကိုလက်ခံခဲ့သည်မပေးပါ။ ဒီ option ၏ရည်ရွယ်ချက်မှာလုံခြုံရေးတိုးမြှင့် optionally ဖို့ဖြစ်ပါတယ်: သူ့ဟာသူ public key ကိုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းကွန်ယက်သို့မဟုတ်အမည်ဆာဗာသို့မဟုတ်ဘာမှမ (သို့သော်သော့ချက်) ယုံကြည်စိတ်ချမထားဘူး, တစ်စုံတစ်ယောက်တစ်နည်းနည်းနဲ့ key ကိုခိုးယူလျှင်သို့သော်, သော့ကိုဘယ်နေရာမှာမဆိုကမ္ဘာပေါ်မှာနေ log တစ်ခုကျူးကျော်ခွင့်ပြုထားသည်။ ဒါကအပိုဆောင်း option ကို (အမည်ဆာဗာများနှင့် / သို့မဟုတ် routers များကိုဖွင့်သော့ကိုအပြင်ခိုးယူခံရဖို့ရှိသည်မယ်လို့) ပိုပြီးခက်ခဲတစ်ဦးခိုးယူ key ကိုသုံးပြီးစေသည်။

command ကို = command ကို

ဒီ key ကိုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းအတွက်အသုံးပြုသည်အခါတိုင်းအမိန့်ကွပ်မျက်ခံရကြောင်းဖေါ်ပြသည်။ အသုံးပြုသူ (ရှိပါက) ကထောက်ပံ့အဆိုပါ command ကိုလျစ်လျူရှုနေပါတယ်။ client ကိုတစ်ဦး Pty တောင်းဆိုလျှင် command ကိုတစ်ဦး Pty အပေါ်ကို run လျက်ရှိ၏ မဟုတ်ရင်က TTY မပါဘဲပြေးနေသည်။ တစ်ဦး 8-bit နဲ့သန့်ရှင်းတဲ့ရုပ်သံလိုင်းလိုအပ်ပါသည်ဆိုလျှင်, တဦးတည်းတစ် Pty တောင်းဆိုရန်မပြုရသို့မဟုတ်တစ်ဦးကကိုးကားနေတဲ့ဘယ်ဘက်မျဉ်းစောင်းအတူကကိုးကားခြင်းဖြင့်အမိန့်တွင်ထည့်သွင်းစေခြင်းငှါအဘယ်သူမျှမ-Pty သတ်မှတ်သင့်ပါတယ်။ ဒီ option ကပဲတိကျတဲ့လုပ်ငန်းကိုဆောင်ရွက်ရန်အချို့သော public keys တွေကိုကန့်သတ်ရန်အသုံးဝင်သောဖြစ်လိမ့်မယ်။ ဥပမာတစ်ခုဝေးလံခေါင်သီရန်သင့်သိမ်းဆည်းချက်တွေကိုပေမယ့်ဘာမှခွင့်ပြုမယ့်သော့ချက်ဖြစ်လိမ့်မယ်။ သူတို့အတိအလင်းတားမြစ်ထားမဟုတ်လျှင်နေ client ကို TCP / IP နှင့် / သို့မဟုတ် X11 forwarding ကိုသတ်မှတ်စေခြင်းငှါသတိပြုပါ။ ဒီ option ကို shell ကို, command ကိုသို့မဟုတ် subsystem သို့ကွပ်မျက်သက်ဆိုင်ကြောင်းသတိပြုပါ။

ပတ်ဝန်းကျင် = အား NAME = value ကို

string ကိုဒီ key ကိုသုံးပြီးအတွက် logging အခါပတ်ဝန်းကျင်ထည့်သွင်းခံရဖို့ကြောင်းဖေါ်ပြသည်။ ပတ်ဝန်းကျင် variable တွေကိုဤနည်းသည်အခြား default အနေနဲ့ပတ်ဝန်းကျင်တန်ဖိုးများကို override ထားကြ၏။ ဒီအမျိုးအစားအကွိမျမြားစှာရှေးခယျြစရာခွင့်ပြုထားပါသည်။ ပတ်ဝန်းကျင်အပြောင်းအလဲနဲ့ပုံမှန်အားဖြင့်ပိတ်ထားသည်နှင့် PermitUserEnvironment option ကိုမှတဆင့်ထိန်းချုပ်ထားသည်။ UseLogin enabled လျှင်ဒီ option ကိုအလိုအလျောက်ပိတ်ထားသည်။

အဘယ်သူမျှမ-port ကို-forwarding ကို

ဒီ key ကိုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းအတွက်အသုံးပြုသည့်အခါ TCP / IP forwarding ကိုတားမြစ်ထားသည်။ client ကိုအားဖြင့်မည်သည့် port ကိုရှေ့ဆက်တောင်းဆိုမှုများမှားယွင်းမှုတစ်ခုပြန်လာပါလိမ့်မယ်။ ဤအမိန့်ပေး option နဲ့အတူဆက်သွယ်မှုအတွက်, ဥပမာအသုံးပြုပေလိမ့်မည်။

အဘယ်သူမျှမ-X11-forwarding ကို

ဒီ key ကိုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းအတွက်အသုံးပြုသည့်အခါ X11 forwarding ကိုတားမြစ်ထားသည်။ client ကိုအားဖြင့်မည်သည့် X11 ရှေ့ဆက်တောင်းဆိုမှုများမှားယွင်းမှုတစ်ခုပြန်လာပါလိမ့်မယ်။

အဘယ်သူမျှမ-အေးဂျင့်-forwarding ကို

ဒီ key ကိုစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းအတွက်အသုံးပြုသည်လာသောအခါတဆင့်ပို့ခြင်း authentication ကိုအေးဂျင့်ကိုတားမြစ်ခဲ့သည်။

အဘယ်သူမျှမ-Pty

TTY ခွဲဝေ (က Pty ကျရှုံးလိမ့်မယ်ခွဲဝေချထားပေးရန်ဖို့တောငျးဆိုခကျြ) ကာကွယ်ပေးသည်။

permitopen = အိမ်ရှင်: port ကို

ကသာသတ်မှတ်ထားသောအိမ်ရှင်နှင့် port ကိုချိတ်ဆက်စေခြင်းငှါဤကဲ့သို့သောဒေသဆိုင်ရာ `` ssh -L '' port forwarding ကိုကန့်သတ်။ IPv6 လိပ်စာများအနေနဲ့အခြားရွေးချယ်စရာ syntax နှင့်အတူသတ်မှတ်နိုင်သည်အိမ်ရှင် / port ကိုအကွိမျမြားစှာ permitopen ရွေးချယ်စရာကော်မာကွဲကွာလျှောက်ထားနိုင်ပါသည်။ ပုံစံကိုက်ညီခြင်းသတ်မှတ်ထားသော hostnames အပေါ်ဖျော်ဖြေနေသည်မဟုတ်ပါ, သူတို့ပကတိ domains များသို့မဟုတ်လိပ်စာများဖြစ်ရပါမည်။

ဥပမာ

1024 33 12121 ... 312314325 ylo@foo.bar

ကနေ = "* ။ niksula.hut.fi,! pc.niksula.hut.fi" 1024 35 23 ... 2334 ylo @ niksula

command ကို = "အမှိုက်ပုံ / အိမ်", No-Pty မရှိ-port ကို-forwarding ကို 1024 33 23 ... 2323 backup.hut.fi

permitopen = "10.2.1.55:80" permitopen = "10.2.1.56:25" 1024 33 23 ... 2323

Ssh_Known_Hosts File Format

/ etc / ssh / ssh_known_hosts နှင့် $ HOME / .ssh / known_hosts ဖိုင်တွေအားလုံးသိကြကောင်းကင်ဗိုလ်ခြေအရှင်ဘို့ public keys တွေကိုအိမ်ရှင်အဖြစ်လက်ခံကျင်းပမဆံ့။ ကမ္ဘာလုံးဆိုင်ရာဖိုင်စီမံခန့်ခွဲသူ (optional) ကပြင်ဆင်ရပါမည်ကို၎င်း, တစ်ဦးချင်း-အသုံးပြုသူ file ကိုအလိုအလျှောက်ထိန်းသိမ်းထားတာဖြစ်ပါတယ်: အသုံးပြုသူအမည်မသိအိမ်ရှင်ထံမှဆက်သွယ်အခါတိုင်းသူ့ရဲ့ key ကိုတစ်ဦးလျှင်-အသုံးပြုသူ file ကိုထည့်သွင်းထားသည်။

hostnames, bits သည်, ထပ်ကိန်း, ကိန်းပကတိတန်ဖိုး, မှတ်ချက်: ဤဖိုင်များကိုစီ line ကိုအောက်ပါကွက်လပ်များကိုပါရှိသည်။ လယ်ကွင်းနေရာများအားဖြင့်ကွဲကွာနေကြသည်။

hostnames ( '*' နှင့်သံခိတ်အဖြစ်ဆောင်ရွက်ရန် '?') ပုံစံများတစ်ကော်မာ-separated စာရင်းဟူမူကား, (ကဆာဗာကိုစစ်မှန်ကြောင်းအခါ) တစ်ဦးချင်းစီပုံစံ, အလှည့်၌, (က client ကိုစစ်မှန်ကြောင်းအခါ) ကို Canon host name ကိုဆန့်ကျင်ခြင်းသို့မဟုတ်အသုံးပြုသူ-ထောက်ပံ့ name ကိုဆန့်ကျင်ကိုက်ညီနေသည်။ တစ်ဦးကပုံစံကိုလည်း `အားဖြင့်ရှေ့ပြေးစေခြင်းငှါ! ' negation ညွှန်ပြမှ: အ host name ကိုတစ်ဦး negated ပုံစံကိုက်ညီလျှင်မူကား, အဲဒါကိုလိုင်းပေါ်တွင်အခြားပုံစံကိုက်ညီလျှင်ပင် (ထိုလိုင်းအားဖြင့်) ကိုလက်ခံသည်မဟုတ်။

bits, ထပ်ကိန်းများနှင့်ကိန်းပကတိတန်ဖိုးကတော့ RSA အိမ်ရှင် key ကိုမှတိုက်ရိုက်ခေါ်ဆောင်သွားကြသည်; သူတို့ဒီ optional ကိုမှတ်ချက်လယ်လိုင်း၏အဆုံးဆက်လက်နှင့်အသုံးမဖြစ်ပါတယ် /etc/ssh/ssh_host_key.pub ကနေဥပမာရယူနိုင်ပါသည်။

`# 'နှင့်အချည်းနှီးသောလိုင်းများနှင့်အတူစတင်လိုင်းများမှတ်ချက်အဖြစ်လျစ်လျူရှုနေကြပါတယ်။

အိမ်ရှင် authentication ကိုဖျော်ဖြေတဲ့အခါမှာမဆိုကိုက်ညီခြင်း line ကိုသင့်လျော်သောသော့ချက်ရှိပါတယ်လျှင်, authentication ကိုလက်ခံသည်။ ဒါဟာတူညီတဲ့အမည်များများအတွက်အများအပြားလိုင်းများသို့မဟုတ်မတူညီတဲ့ host ကိုသော့ရှိသည်ဖို့ (အကြံပြုပေမယ့်မဟုတ်), အရှင်ခွင့်ဖြစ်ပါတယ်။ ကွဲပြားခြားနားသော domains များအနေဖြင့်အိမ်ရှင်အမည်များတိုတောင်းသောပုံစံများဖိုင်ထဲမှာထားကြသောအခါဤသည်မလွှဲမရှောင်ဖြစ်ပျက်ပါလိမ့်မယ်။ ဒါဟာဖိုင်တွေကွဲလွဲသတင်းအချက်အလက်ဆံ့ကြောင်းဖြစ်နိုင်; ခိုင်လုံသောသတင်းအချက်အလက်ဖိုင်တစ်ခုခုကိုထံမှတွေ့ရှိနိုင်ပါသည်လျှင်စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းကိုလက်ခံသည်။

ဤဖိုင်များကိုအတွက်လိုင်းများသည်ပုံမှန်အားဖြင့်ကြာမြင့်စွာစာလုံးများကိုရာပေါင်းများစွာသောဖြစ်ကြသည်ကို၎င်း, သငျသညျကျိန်းသေလက်ဖြင့်အိမ်ရှင်သော့ရိုက်ချင်ကြပါဘူးသတိပြုပါ။ အစား, ဇာတ်ညွှန်းအားဖြင့်သို့မဟုတ် /etc/ssh/ssh_host_key.pub တာနှင့်ရှေ့မှာအိမ်ရှင်အမည်များကိုထည့်ခြင်းအားဖြင့်သူတို့ကို generate ။

ဥပမာ

closenet ... , 130.233.208.41 1024 37 159 ... 93 closenet.hut.fi cvs.openbsd.org, 199.185.137.3 ssh-RSA AAAA1234 ..... =

ဒါ့အပြင်ကိုကြည့်ပါ

scp (1), SFTP (1), ssh (1), ssh-add1, ssh-agent1, ssh-keygen1, login.conf5, moduli (5), sshd_config5, SFTP-server8

T. Ylonen တီ Kivinen အမ် Saarinen တီ Rinne အက်စ် Lehtinen တိုးတက်မှုပစ္စည်းထဲမှာ "SSH ကိုပရိုတိုကောဗိသုကာ" မူကြမ်း-ietf-secsh-ဗိသုကာ-12.txt ဇန်နဝါရီ 2002 အလုပ်

တိုးတက်မှုပစ္စည်းအတွက်မူကြမ်း-ietf-secsh-DH-အုပ်စုတစ်စု-လဲလှယ်-02.txt ဇန်နဝါရီ 2002 အလုပ်အမ် Friedl N. Provos WA Simpson "ဟုအဆိုပါ SSH ကို Transport Layer Protocol ကိုအဘို့အ Diffie-Hellman တို့အုပ်စုချိန်း"

အရေးကြီး: command တစ်ခုကိုသင်၏အထူးသဖြင့်ကွန်ပျူတာပေါ်တွင်အသုံးပြုသည်ကိုမည်သို့ကြည့်ဖို့လူကို command ကို (% သည်လူ) ကိုသုံးပါ။