Ինչպես ավտոմատացնել SSH- ի նիստերը `ակնկալելով

Այս ձեռնարկում առաջադրանքները կկատարվեն ավտոմատացման միջոցով ՝ օգտագործելով «Ակնկալել».


Ակնկալում է, որ ավտոմատացման գրությունների լեզուն է: Այն թույլ է տալիս ձեզ ընդօրինակել յուրաքանչյուր առանցքային հարվածը մեկ նստաշրջանում: Դուք մուտքագրում եք հանձնման հրամաններ և պատասխաններ ակնկալելու (կամ ակնկալելու) համար: Երբ ակնկալվում են պատասխաններ, դուք մուտքագրեք մեկ այլ հրաման: Այս գործընթացը կրկնվում է մինչև սցենարի ավարտը.

Ակնկալվող սցենարը ամբողջ ավտոմատ երկկողմանի զրույցն է: Բացառված սցենարում գրվում է երկուսն էլ ուղարկող և ստացող համակարգիչներից երկխոսությունը: Ակնկալում է գրերի ընդհանուր օգտագործումը `SSH- ի նիստերը ավտոմատացնել տեղական համակարգչի և հեռավոր սերվերի միջև.

Ակնկալվում է

Բացառությունը մատչելի է որպես Linux- ի շեղումների մեծամասնության համար տեղադրվող ծրագրային փաթեթ: Օգտագործեք փաթեթի կառավարիչը `ակնկալիք ներբեռնելու և տեղադրելու համար` կապված ցանկացած այլ փաթեթների և (կամ) կախվածության հետ.

Եթե ​​Ubuntu- ն եք օգտագործում, հրամանի տողում մուտքագրեք հետևյալ տողը `ակնկալելու համար.

$ ակնկալվում է ստանալ տեղադրման ակնկալիք

Եթե ​​դուք օգտագործում եք CentOS- ը, մուտքագրեք հետևյալը.

# yum install expect-devel

Հնարավոր է, որ դա տևի որոշ ժամանակ, բայց այն տեղադրվելուց հետո Ակնկալվում է, որ այն գործարկվում է տերմինալից.

Սպասում է SSH գրություն գրել

Դուք պետք է գրեք «երկխոսության» երկու ծայրերը: Սա նշանակում է, որ դուք պետք է գրեք այն հրամաններ, որոնք ցանկանում եք ուղարկել նստաշրջանում և հեռավոր սերվերից ակնկալվող պատասխանները: Որպեսզի գործարկվի, սցենարը պետք է գործարկվի: Ակնկալվող սցենարը անկախ կատարողական ծրագիր դարձնելու համար պետք է կատարվեն երեք քայլեր: Սպասումի գտնվելու վայրը պետք է ներառված լինի սցենարում.

Ենթադրելով, որ ձեր համակարգի սպասելիքի գտնվելու վայրն է / usr / bin / ակնկալել մուտքագրեք հետևյալը որպես ձեր ակնկալվող գրության առաջին տողը.

#! / usr / bin / ակնկալել -f

  • Շեբանը (#!) Պարտադիր նշելու համար պահանջվում է որպես սցենարը մեկնաբանելու համար օգտագործվող ծրագիրը.
  • The –F անջատիչը օգտագործվում է Ակնկալելու համար, որ այն կարդում է ֆայլից ստացված հրամաններ.

Սցենարը պետք է պահվի որպես shell ֆայլ () Այս օրինակում մենք այն կփրկենք որպես expscript.sh.

Սցենարը գործադիր դարձրեք.

Սա պահանջում է փոխել թույլտվությունները սցենարի ֆայլում ՝ թույլ տալով, որ այն գործադիր լինի.

Մուտքագրեք հետևյալը տերմինալում ՝ ֆայլի թույլտվությունները փոփոխելու համար, այն դարձնելով գործարկելի.

$ chmod 755 expscript.sh

Գրությունը

Ձեր սցենարի երկրորդ տողը օգտագործում է գավաթակիր հրամանը, որը գործարկում է արտաքին հրամանը: Այս օրինակում, քանի որ մենք գործ ունենք SSH- ի հետ, սշ հրամանը օգտագործվում է հեռավոր սերվերի միջոցով SSH նստաշրջանը սկսելու համար.հեռավոր.server.com».

spawn ssh remote.server.com

SSH- ի միջոցով հեռավոր սերվերին միանալու փորձ կատարելու ժամանակ ձեզ կառաջարկվի գաղտնաբառ: Ինչպես նախկինում ասացինք, ակնկալում են, որ սցենարները կազմված են երկխոսությունից և երկու մեքենայից, ուստի ակնկալվող պատասխանները պետք է ներառվեն նաև սցենարի մեջ:.

Ակնկալվող պատասխանները պետք է բացառվեն դրանով ակնկալել հրամանը և պարունակվում է կրկնակի մեջբերումներով.

ակնկալել "գաղտնաբառ. "

Նշում. Որոշ սերվերներ կվերադարձնեն «գաղտնաբառ» ՝ «P» կապիտալով: Եթե ​​գրությունները ակնկալում են ընդհանուր բնույթ, ապա դա կարող է պատճառ դառնալ, որ սցենարը ձախողվի: Որպես ելք, կարող է օգտագործվել վայրի խաղաքարտ: Այս տողը խմբագրվելու է հետևյալ կերպ.

ակնկալել "* ssword: "

Կամ էլ ավելի պարզ.

ակնկալել "*: "

Այս մեթոդը կարող է օգտագործվել հեռավոր մեքենայից սպասվող շատ պատասխանների համար: Դրանից հետո ստիպված կլինեք մուտքագրել ձեր գաղտնաբառը: Հրահանգները, որոնք պետք է ուղարկվեն տեղական համակարգչից, բացառվում են ուղարկել հրամանը և, ինչպես և սպասված պատասխանները, պետք է կցվեն կրկնակի մեջբերումներով: Բացի այդ, ուղարկված հրամանները պետք է ներառեն ծանր վերադարձ (\ ռ) վերջում ՝ կրկնակի գնանշումների շրջանակներում.

Ենթադրելով գաղտնաբառ P @ $ $ w0rd, հաջորդ տողը կլինի.

ուղարկել "P @ $ $ w0rd \ r

Այս պահին դուք պետք է հանդիպեք օգտագործողի հետ անհապաղ, որպեսզի այն նշվի որպես սպասվող տեղեկատվություն.

ակնկալել "$ "

Այս պահին կարող եք դուրս գրել հրամանների ցանկացած ցանկ, որոնք կցանկանայիք կատարել, ինչպես նաև հեռավոր սերվերի սպասվող պատասխանների հետ միասին: Ավտոմատացված հրահանգների ցուցակի վերջում ակնկալում եք օգտագործողի հուշում և ելք մղել `նիստը փակելու համար.

ակնկալել "$ "
ուղարկել "ելք \ r"

Ուստի ամբողջ սցենարը պետք է լինի.

#! / usr / bin / ակնկալել -f
spawn ssh remote.server.com
ակնկալել "գաղտնաբառ. "
ուղարկել "P @ $ $ w0rd \ r"
ակնկալել "$ "
…… ## Տարբեր ավտոմատացված հրամաններ ##
ակնկալել "$ "
ուղարկել "ելք \ r"

Ֆայլը պահվելուց հետո հիշեք, որ հետևեք վերը տրված ցուցումներին ՝ նորից փոփոխություններ կատարելով թույլտվությունները, որպեսզի այն կատարելի դառնա.

Նշում. Եթե ձեր սցենարի հետ կապված խնդիրներ ունեք, ապա փորձեք ինքներդ հետևել այն և ձեռքով գործարկել այն ՝ նշելով սերվերի պատասխանները, որպեսզի սցենարի մեջ ակնկալվող պատասխանները ճիշտ լինեն, և որ ուղարկված հրամաններն անթերի են:.

Ինչպե՞ս հեշտությամբ ստեղծել ակնկալվող սցենար

«Սպասել» սցենարի կառուցման հիանալի ձև է shell գրանցիչ ծրագրի օգտագործումը, որը հայտնի է որպես Autoexpect: Էժանագին աշխատանքներ են կատարում `գրանցելով կեղևի նստաշրջանը: Յուրաքանչյուր ստեղնաշարի և կեղևի պատասխանը ձայնագրվում և գրվում է Ակնկալվող սցենարի վրա, սցենար.

Հաշվի առնելով համակարգիչների դինամիկ բնույթը, ոչ մի երկու նստաշրջան չի կարող ամբողջովին նման լինել, այնպես որ մեկ նստաշրջանից առաջացած հումքի սցենարը գործարկելը կարող է գործածել այնպես, ինչպես սպասվում էր, երբ կրկին գործարկվում է: Արդյունքում, Autoexpect- ի միջոցով առաջացած սցենարների մեծ մասը պետք է վերանայվի, խմբագրվի և կտրտվի `ցանկալի հետևողական էֆեկտ ունենալու համար:.

Եթե ​​Ubuntu- ն եք օգտագործում, վազեցրեք հետևյալը ՝ Autoexpect- ը տեղադրելու համար.

$ sudo apt-get install expect-dev

  • Սա ներբեռնելու է օգտակար և բոլոր անհրաժեշտ կախվածությունները.

Եթե ​​դուք օգտագործում եք CentOS- ը, վազեցրեք հետևյալը ՝ Autoexpect- ը տեղադրելու համար.

# yum install expect-devel

Auto Expect- ից օգտվելու համար մուտքագրեք հետևյալը.

$ Ինքնավճար

Auto Expect- ի ակտիվացումից հետո ձեր տերմինալում կհայտնվի հետևյալ հաղորդագրությունը.

Սկսվեց ինքնավստահ տարբերակը, ֆայլը սկրիպտ է

Ձեր մուտքագրած յուրաքանչյուր ստեղնաշարի ստեղնը և էկրանին ցուցադրվող ցանկացած հետագա պատասխանները ձայնագրվում են ֆայլին սցենար և ձևափոխված է «Սպասում» գրքում.

Ավտոմատացումը կանխելու և ձայնագրությունը դադարեցնելու համար սկիզբ ունենալով skript.xt ֆայլին, սեղմեք Ctrl-D.

Ստացվածը սցենար ֆայլը կլինի շատ երկար, ամբողջական ՝ նստաշրջանի ընդհանուր մակագրությամբ և լրացուցիչ մեկնաբանությամբ: Ինչպես նշել է նախկինում, վերանայեք և խմբագրեք ստեղծված ֆայլը ՝ փորձարկելով այն ցանկացած վրիպակի համար: Չնայած դա կարող է որոշ ժամանակ տևել ճիշտ ստանալու համար, այն ավելի հեշտ է, քան հեռու, քան ձեռքով բարդ գրություններ առաջացնելը.

Այժմ դուք ունեք լիովին ֆունկցիոնալ սցենար `մի քանի անգամ անհրաժեշտության դեպքում, հեշտությամբ գործարկելու և ավելի շատ գրություններ պատրաստելու միջոցներ.

Ստուգեք վեբ հոստինգի լավագույն 3 լավագույն ծառայություններ

FastComet

Մեկնարկային գինը.
$ 2,95


Հուսալիություն
9,7


Գնագոյացում
9.5


Օգտագործող ընկերական
9,7


Աջակցություն
9,7


Հատկություններ
9,6

Կարդացեք ակնարկներ

Այցելեք FastComet

A2 հոստինգ

Մեկնարկային գինը.
$ 3,92


Հուսալիություն
9.3


Գնագոյացում
9.0


Օգտագործող ընկերական
9.3


Աջակցություն
9.3


Հատկություններ
9.3

Կարդացեք ակնարկներ

Այցելեք A2 հոստինգ

ChemiCloud

Մեկնարկային գինը.
$ 2,76


Հուսալիություն
10-ը


Գնագոյացում
9.9


Օգտագործող ընկերական
9.9


Աջակցություն
10-ը


Հատկություններ
9.9

Կարդացեք ակնարկներ

Այցելեք ChemiCloud

Առնչվող հոդվածներ

  • Ինչպես ստեղծել SSH Ubuntu 16.04 VPS կամ Նվիրաբեր սերվերի վրա
    միջանկյալ
  • Ինչպես օգտագործել և կառավարել SSH ստեղները cPanel- ով
    միջանկյալ
  • Ինչպես ստեղծել SSH ձեր Ubuntu 18.04 VPS կամ Նվիրաբեր սերվերի համար
    միջանկյալ
  • Ինչպես ստեղծել Linux VPN սերվեր Windows Client- ից
    միջանկյալ
  • Ինչպե՞ս միանալ սերվերին ՝ օգտագործելով SSH- ը Linux- ի և Mac- ի վրա
    միջանկյալ
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map