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 [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] 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.
pgpaEnzZNUyVe.pgp
Description: PGP signature
