Re: lug-bg: about:perl
- Subject: Re: lug-bg: about:perl
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Mon, 21 Mar 2005 11:16:22 +0200
On Mon, Mar 21, 2005 at 10:51:01AM +0200, Danail Petrov wrote:
> Peter Pentchev wrote:
>
> >On Mon, Mar 21, 2005 at 09:11:11AM +0200, Danail Petrov wrote:
> >[snip]
> >
> >
> >>:) , там ме чака микродц , и трябва да слуша за команди. След като
> >>прекраят сесията , то трябва да си остане в същия режим в който си е бил
> >>и докато съм логнат.
> >>
> >>
> >
> >Много добре се беше сетил в първото съобщение за screen; това е един от
> >най-добрите известни засега начини :) Няма нужда да изобретяваш
> >колелото. Само ще ти кажа, че ако се опиташ да направиш нещо такова
> >сам, ще се срещнеш с купчина проблеми в:
> >- authentication на login-а;
> >- самия логин - създаване на процеси, евентуално заделяне на терминал
> > (за microdc може и да не трябва, но за BitchX няма как да минеш без
> > виртуален терминал);
> >- управление на терминала, другояче известно като терминална емулация -
> > само за това са изписани цели книги (и не, не се шегувам);
> >- поддържане на процеса работещ между отделните извиквания;
> >- управление на това кой в кой момент да "хване" процеса, ако някой друг
> > се опита да се свърже, докато ти си свързан, или докато твоят
> > контролен процес си мисли, че си свързан;
> >- самото прехвърляне на данните между процеса и мрежовата връзка
> > всъщност е най-тривиалната част.
> >
> >С повечето от гореизброените точки се занимават SSH сървърът и клиентът;
> >с тези, с които не те, се занимава screen. Наистина не виждам причина
> >да се опитваш да изобретяваш наново толкова много колела (защото те
> >действително са много и са сложни), освен ако не го мислиш като някакъв
> >вид упражнение, но в такъв случай ще видиш зор :)
> >
> >Специално screen е един от първите пакети (наред с Vim и някоя от
> >по-новите версии на Perl, а при някои операционни системи и CVSup клиент
> >;), които инсталиран върху всяка - ама наистина всяка - нова машина,
> >която ми се наложи да конфигурирам. Ако му понаучиш възможностите
> >(автоматично пускане на отделен процес в нов screen процес, автоматично
> >пускане на няколко процеса в един screen процес на различни screen-чета
> >през .screenrc файлове, запазване на информация за това точно кой процес
> >е бил пуснат току-що и лесно свързване точно към него по-късно,
> >именоване на screen-четата в рамките на един screen процес, и голяяяям
> >куп други неща), ще установиш, че има много малко неща, за които screen
> >не е най-подходящият инструмент, поне в тази област :)
>
> Здравейте отново,
> първо Благодаря и на двама Ви за вниманието ,
> но въпроса е там че не аз ще се закачам към въпросното приложение , а
> друго клиентско приложение ,
> което ще search-ва или ще прави разни други неща . Т.е. нещата ще се
> "роботизират" (ама как го казах само:))
> така че , другиа вариянт е да пиша приложенията да се закачат по ssh ,
> че после да правят обръщение към скреен ...
> Та затова исках да питам Е ли е възможно това чудо....
Вариантът с автоматизирано закачане през SSH и след това "събуждане" на
правилния screen процес е не само възможен, ами и много по-лесен :)
За автоматизирана автентикация през SSH има няколко варианта, от които
най-широко известният - с публичен ключ без passphrase - всъщност не е
непременно най-добрият :) В някои ситуации е по-добре да се ползва
ssh-agent, така че ключовете да бъдат "запомняни" и достъпни за
автоматично използване само когато е нужно, а не винаги и за всеки,
който може да се докопа до частния ключ. В повечето случаи това е
overkill - контрол на достъпа до частния ключ е достатъчно за почти
всички - но има ситуации, когато е наистина важно.
Има го и допълнителният момент, за който кажи-речи всички знаят, но
малко хора си правят труда действително да го използват: при
автентикация с публични ключове SSH сървърът дава възможност да
ограничиш командите, които могат да бъдат изпълнени от нещото, което
току-що се е автентикирало точно с този ключ. За повече информация виж
формата на файла authorized_keys.
Колкото до последващото закачане за правилния screen процес и правилния
прозорец вътре в него, погледни опциите -S sessionname, -r sessionname и
-p number_or_name на screen(1), както и формата на файла screenrc - там,
освен всичко друго (screen, exec, detach, ...) можеш да видиш и
командата 'title', която е удобна в комбинация с опцията -p.
Поздрави,
Петър
--
Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
This sentence every third, but it still comprehensible.
Attachment:
pgpfsyZGno4XS.pgp
Description: PGP signature
|