OpenVPN ń ka ọ̀rọ̀ ìpamọ́ láti terminal, kì í ṣe láti stdin
Ibi tí OpenVPN ti ń ka ọ̀rọ̀ ìpamọ́ ní tòótọ́, ìdí tí fáìlì kan lórí stdin fi ń kùnà, àti àwọn ọ̀nà mẹ́ta tí a ṣe àtìlẹ́yìn fún ìwọlé pẹ̀lú script ní Linux àti macOS.
OpenVPN béèrè fún orúkọ olùlò àti ọ̀rọ̀ ìpamọ́ lórí terminal ìṣàkóso, fáìlì tí a darí sí ìwọlé ìbẹ̀rẹ̀ kì í ṣe terminal yẹn. Àlàyé kan yìí ni ó ṣàlàyé script náà tí ó ń dúró nígbà tí ọ̀rọ̀ ìpamọ́ wà níbẹ̀ nínú páìpù. Ẹ̀rọ alábàákẹ́gbẹ́ ni ó ń ya ìbéèrè náà, a sì ń ka láti ẹ̀rọ terminal, nítorí náà dídarí stdin kò yí nǹkan kankan padà. Fún alábàákẹ́gbẹ́ ní ìwọlé nípasẹ̀ ọ̀kan nínú àwọn ọ̀nà ìwọlé tí a kọ sílẹ̀, script kan náà yóò so mọ́ ní ìgbìyànjú àkọ́kọ́.
Àwọn ọ̀nà mẹ́ta bo fẹ́rẹ̀ẹ́ gbogbo ipò, ọ̀kọ̀ọ̀kan sì ń kùnà ní ọ̀nà tirẹ̀. Yan ní ìbámu pẹ̀lú ìbéèrè tí alábàákẹ́gbẹ́ ń fi hàn ní tòótọ́, kì í ṣe ní ìbámu pẹ̀lú àǹfààní tí ó rọrùn jùlọ láti kọ script.
Ìbéèrè náà kì í wá láti stdin
Nígbà tí OpenVPN bá nílò ẹ̀rí ìdánimọ̀, ó ń ṣí terminal ìṣàkóso ó sì ń ka níbẹ̀. Ìdí niyì tí ìdánwò ìbáṣepọ̀ fi dára lójú nígbà tí pàṣẹ kan náà lábẹ́ cron tàbí fáìlì unit dúró jẹ́ẹ́ pẹ̀lú ìbéèrè tí a kọ sínú àkọsílẹ̀ tí kò sí ẹni tí ń wò ó. Àwọn ìkọ́ kan ń padà sí ìwọlé ìbẹ̀rẹ̀ nígbà tí kò sí terminal, àìbáramu yẹn sì burú ju ìkùnà líle lọ, nítorí ó ń fi ìṣòro náà pa mọ́ títí di ìgbésẹ̀.
Ṣàyẹ̀wò àyíká kí o tó kọ kóòdù kankan: ṣiṣẹ́ alábàákẹ́gbẹ́ lábẹ́ olùlò kan náà, pẹ̀lú stdin kan náà, gẹ́gẹ́ bí olùtọ́jú àkókò tàbí olùṣàkóso iṣẹ́ yóò ṣe. Bí ìbéèrè kò bá farahàn nínú àkọsílẹ̀ rárá tí ìlànà kò sì tẹ̀síwájú, nǹkan kan ń dúró de terminal tí kò sí.
Ọ̀nà kìíní: fáìlì ẹ̀rí ìdánimọ̀ oní ìlà méjì
Àǹfààní ìjẹ́rìí ń gba ọ̀nà kan, fáìlì náà sì ní ìlà méjì pàtó, orúkọ olùlò kí ó tó ọ̀rọ̀ ìpamọ́, kò sí nǹkan mìíràn. Fi ọ̀nà náà hàn ní gbangba dípò gbígbẹ́kẹ̀ lé orúkọ fáìlì àkọ́kọ́, nítorí fáìlì ẹ̀rí ìdánimọ̀ tí ó sọnù nínú àkójọ iṣẹ́ ni ọ̀nà tí àkọsílẹ̀ tí kò tọ́ fi ń wọ ìlò. Ṣètò ipò sí 0600 kí o sì fi ẹ̀tọ́ ìní fún àkọsílẹ̀ tí ń ṣiṣẹ́ alábàákẹ́gbẹ́.
Alábàákẹ́gbẹ́ ń ka fáìlì yẹn lẹ́ẹ̀kan nígbà ìbẹ̀rẹ̀, nítorí náà yíyí ọ̀rọ̀ ìpamọ́ túmọ̀ sí àtúnbẹ̀rẹ̀ ìlànà. Ní gbogbo ìgbà ìyẹn ni ìhùwàsí tí o fẹ́, ó sì yẹ kí ó wà nínú runbook lẹ́gbẹ̀ẹ́ ìlànà yíyí.
Ọ̀nà kejì: askpass fún gbólóhùn ọ̀rọ̀ ìpamọ́ kọ́kọ́rọ́
Kọ́kọ́rọ́ aládàáni tí a fi gbólóhùn dáàbò bò ń gbé ìbéèrè kejì jáde, ìyàtọ̀ ni, ó sì ní ìdáhùn tirẹ̀ tí ó dá lórí fáìlì: àǹfààní askpass ń ka gbólóhùn náà láti ìlà àkọ́kọ́ fáìlì kan. Fún àwọn ihò abẹ́lẹ̀ tí ó dá lórí SSH, ìbámu ni ètò askpass tí alábàákẹ́gbẹ́ ń ṣiṣẹ́, tí ìjáde ìbẹ̀rẹ̀ rẹ̀ sì di àṣírí.
Kò sí ọ̀nà tí ń gbé àṣírí sínú àkójọ àríyànjiyàn, àwọn méjèèjì sì ń jẹ́ kí ó wà gẹ́gẹ́ bí fáìlì tàbí bí ètò tí ń tẹ̀ ẹ́ jáde. Ààbò ni àwọn ẹ̀tọ́ fáìlì àti ìní ìlànà, kì í ṣe àṣírí. Olùrànlọ́wọ́ tí ń sọ gbólóhùn tí a kọ sínú kóòdù padà ni àṣírí pẹ̀lú àwọn ìgbésẹ̀ àfikún.
Ọ̀nà kẹta: CLI ti alábàákẹ́gbẹ́ ọ̀nà àbáwọlé fúnra rẹ̀
Àwọn alábàákẹ́gbẹ́ ilé-iṣẹ́ máa ń pèsè ibi ìwọlé ìlà pàṣẹ tí ó so mọ́ ọ̀nà àbáwọlé tí a sọ orúkọ rẹ̀ láìsí fèrèsé kankan, ìyẹn sì ni ọ̀nà tí a ṣe àtìlẹ́yìn. Lórí Linux alábàákẹ́gbẹ́ GlobalProtect ń fi àwọn iṣẹ́ ìsopọ̀ àti gbígbé ẹ̀rí wọlé hàn nípasẹ̀ CLI rẹ̀, àwọn ọ̀nà àbáwọlé tí ń lò ìjẹ́rìí ẹ̀rí sì nílò ìgbésẹ̀ gbígbé wọlé kí ìsopọ̀ aládàáni lè ṣiṣẹ́. Yan ìyẹn ju pípẹ́ kọ́kọ́rọ́ aláfọwọ́kọ lọ: ìwọ ń gba ipò ìjáde gidi, kò sí ìgbẹ́kẹ̀ lé àfojúsùn fèrèsé, ó sì ń ye ojú ewé tí a ti sé.
Bí ìsopọ̀ àkọ́kọ́ bá ṣì nílò ènìyàn láti gba ẹ̀rí, ìṣiṣẹ́ aládàáni kò tíì parí. Ṣe gbígbé wọlé nígbà ìṣètò kí o sì kọ ọ́ gẹ́gẹ́ bí ipò àkọ́kọ́.
Nígbà tí ìṣàn nílò pseudo-terminal
Ìtẹ̀lé tí ń béèrè ọ̀rọ̀ ìpamọ́ lẹ́yìn náà kóòdù ìlò kan ṣoṣo kò ní fáìlì kan láti kà. Olùdarí terminal bí Expect ni irinṣẹ́ tí ó tọ́ nítorí ó ń dúró de gbogbo àpẹẹrẹ ní ìtẹ̀lé, ó sì nílò ìlànà tí a ti bẹ̀rẹ̀ kí ó tó lè bá nǹkan mu rárá.
Àwọn ìkùnà méjì ni ó ń jẹ gàba. Script tí ń dúró de ìbéèrè láìbẹ̀rẹ̀ alábàákẹ́gbẹ́ ń dúró títí láí, Tcl kì í ṣe shell, nítorí náà ìṣirò shell tí a kọ sínú blọ́ọ̀kì expect kì í ṣe ìgbéléwọ̀n gẹ́gẹ́ bí a ti ń kà á. Jẹ́ kí àsíá debug wà ní ṣíṣí nígbà tí o ń kọ́ àwọn àpẹẹrẹ, lẹ́yìn náà pa á.
Àwọn àṣírí tí ń jò, àti ibi tí wọ́n ń fi ara pamọ́
Ohunkóhun tí a fi gbà gẹ́gẹ́ bí àríyànjiyàn ni a rí nínú àkójọ ìlànà, nítorí náà ẹ̀rí ìdánimọ̀ yẹ kí ó wà nínú fáìlì tàbí lẹ́yìn olùrànlọ́wọ́, kì í ṣe ní ìlà pàṣẹ rárá. Àwọn kóòdù ìlò kan ṣoṣo ń tán nípasẹ̀ àpẹẹrẹ, a sì gbọdọ̀ ṣẹ̀dá wọn fún gbogbo ìgbìyànjú. Àwọn àkọsílẹ̀ ìkùnà máa ń gbé orúkọ olùlò àti nígbà mìíràn ju bẹ́ẹ̀ lọ, nítorí náà pa wọ́n mọ́ kí o tó fi wọ́n rán níbikíbi, kí o sì pa àṣírí mọ́ ní ìta profáìlì fúnra rẹ̀, nítorí fáìlì ìṣètò tí ó ní ọ̀rọ̀ ìpamọ́ nínú ni a ń lẹ̀ mọ́ àwọn tíkẹ́ẹ̀tì àti àwọn ibi ìpamọ́. Lẹ́yìn náà yíyí àkọsílẹ̀ túmọ̀ sí pípa gbogbo ẹ̀dà lépa, ìyẹn sì ni iye owó tí ètò yìí ń yẹ̀ sí.
Ṣàyẹ̀wò àwọn ọ̀nà tí o yàn, lẹ́yìn náà so wọ́n mọ́ fáìlì unit tàbí olùtọ́jú àkókò tí yóò ṣiṣẹ́ alábàákẹ́gbẹ́ ní tòótọ́. Ihò abẹ́lẹ̀ ń gbé níwọ̀n ìgbà tí ìlànà yẹn bá ń gbé.