Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Слегка неожиданный способ удаленного входа на удаленные UNIX-машины.  (Прочитано 12377 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mahoro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Развлекаясь с любимой мною программой OpenSSH, как-то сам собой изобрелся новый (для меня) способ работы с удаленными unix-машинами, с которым я не могу наиграться уже который день :)

Вот как это выглядит:
xinit ssh -X user@host startkde -- :1(набирается команда в обычном, неиксовом терминале; на удаленной машине должен лежать наш публичный ключик)

Эта команда откроет новый X-сеанс, в котором будет запущена оболчка KDE. (если написать gnome-session, то, соответственно, GNOME). Это однозначно удобнее, чем работа по VNC и куда более функционально, чем запуск отдельных приложений в уже существующей сессии с другим оконным менеджером. Инструкций о публичных ключах в сети куча

Конечно, ничего принципиально нового здесь нет, это просто пример того, насколько гибкой является всеми нами любимая система, в которой так легко почувствовать себя изобретателем :)

Окончательно спалил тему я в своем блоге, это здесь: http://alexey.sveshnikov.ru/blog/2007/08/06/удаленный-рабочий-стол-unix-way/. :)

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Ай яй яй... я запостил ссылку на форуме раньше самого автора Удаленное управление Linux. (и др интересные вопросы)  :D
« Последнее редактирование: 02 Сентябрь 2007, 02:23:28 от Yurror »

Оффлайн Kwah

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Как много нам открытий чудных... :)

А ещё ssh умеет работать туннелем, заниматься перенаправлением трафика и многими прочими полезными вещами.

Оффлайн mahoro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Yurror, а я знаю :) Мне статистика показала, что были переходы с этой темы.

Kwah, Точно!

И швец, и жнец, и на дуде игрец.


Впрочем, обычные функции SSH - это все замечательно. Но намного интересней, когда с их помощью достигаются какие-то неочевидные с первого взгляда выгоды..

В качестве примера: очевидно, что с помощью SSH можно сразу запускать программы удаленно:
#ssh host uname
FreeBSD

Но сразу не бросается в глаза, что можно запустить удаленно bash и нормально, в принципе, с ним работать. А то, что такой вход в систему невозможно отследить командами last и who, является уже какой-то качественно новой выгодой, т.е. не связанной напрямую с туннелингом или с базовой функциональностью.

Так вот, именно такие варианты применения SSH для меня наиболее интересны и я их коллекционирую.
Если у вас есть подобные примеры, или, если более глобально, были случаи, когда вы пугали коллег дикими возгласами и носились на стуле по офису с опасной для окружающих скоростью и все от того, стандартные линуксовые программы в какой-то особой комбинации позволили элегантно решить нетривиальную задачу, то я буду очень рад, если вы со мной такой вот радостью поделитесь. А я, в свою очередь, веду блог с таким вещами, т.е. не держу ничего в секрете :)

Оффлайн netdaemon

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Вчера распробовал этот способ на винде, putty+xming. Все круто конечно, но тормозит огого, хотя 100 мбит..

Оффлайн Scarab

  • Активист
  • *
  • Сообщений: 327
  • Ubuntu-не ОС для блондинок!
    • Просмотр профиля
Попробвал провернуть аферу, но столкнулся с проблемой: ключ для входа сделал, захожу без пароля, иксовые приложения в текущей х-сессии тоже запускаются, но при попытке провернуть это:
xinit ssh user@domain gnome-session -- :1
получаю 2 страницы лога и ошибку, к сожалению не могу скинуть лог, по этому вопрос:
Как скинуть лог, если --verbose > ~/log.txt или просто > ~/log.txt не работает? Идеи иссякли после прочтения man xinit.

Оффлайн mahoro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Scarab: попробуйте посмотреть, что в файлике /var/log/Xorg.1.log.
А если там пусто, то перенаправление вывода делайте не >log, а >log &2>&1 , чтобы stderr тоже попал в лог.

Да, еще вы не пишите опцию -Х. И еще, вы уверены, что пишите команду не из другой иксовой сессии? Нужно из обычной консоли (Ctrl-Alt-F1)

netdaemon, это странно. Потому что я пробовал с десктопа на ноут по 100Мб сети и с десктопа на удаленный сервер, находящийся на площадке у хостера - все просто летало.
Может быть дело в xming?
« Последнее редактирование: 03 Сентябрь 2007, 22:12:16 от mahoro »

Оффлайн Scarab

  • Активист
  • *
  • Сообщений: 327
  • Ubuntu-не ОС для блондинок!
    • Просмотр профиля
Прошарил все /var/log/ Xorg*.* на фразу xinit, по словам virens'a
Цитировать
ssh -X можно и не использовать, если в настройках прописан XForwarding
я понял, что раз уж в конфиге прописано, то можно -Х не писать, если понял привратно-киньте камнем. Конечно из "обычной черной консоли" :) А за совет спасибо, сейчас выложу лог, повправляете мне мозг :)

Оффлайн mahoro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Если есть сомнения (а оди должны быть, если что-то не работает), то лучше добавить эту опцию. Я думаю, так.

Оффлайн Scarab

  • Активист
  • *
  • Сообщений: 327
  • Ubuntu-не ОС для блондинок!
    • Просмотр профиля
Собственно вот:
xinit ssh -X user@domain gnome-session -- :1 >log 2&>1&

получаю длинный лог вроде "учи албанский, вот тебе все команды из мана.." укорочу:

Unrecognized option: 2
use: X [:<display>] [option]
.................... (тут всевозможные ключи и команды)
Fatal server error:
Unrecognized option: 2

giving up.

xinit:  Connection refused (errno 111):  unable to connect to X server

xinit:  No such process (errno 3):  unexpected signal 15.

Оффлайн mahoro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Scarab, скинь, плз, в личку название дистрибутива, версию иксов и xinit.

Оффлайн igel

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Да вот и у меня как у Scarab: X-клиенты через ssh запускаются отлично, ключ установил, всё работает. Но при попытке запустить удалённую сессию KDE из 1-й консоли имею:

> xinit ssh -X user@hostname startkde -- :1

X Window System Version 6.8.2
<--->
Symbol __glXgetActiveScreen from module /usr/X11R6/lib/modules/extensions/libdri.a is unresolved!
Symbol __glXgetActiveScreen from module /usr/X11R6/lib/modules/extensions/libdri.a is unresolved!
xterm:  bad command line option "ssh"
<--- тут куча опций --->
Type xterm -help for a full description.
waiting for X server to shut down

Без ssh второй X запускается через
> xinit startkde -- :1
без проблем

Из мана xinit извлёк, что xterm запускается xinit если не указан клиент, т.е. ssh xinit за клиент не считает?
Куда смотреть?
Заранее спасибо.


Оффлайн igel

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Костыль лежал на поверхности  :)
Сделал так: вначале, в чёрной консоли
> xinit -- :1
получаем чёрный экран с окном xterm (без какой-либо рамки), где пишем
> ssh -X user@hostname startkde
Всё работает и довольно быстро на наших 100 Мбит, а о способе запуска напоминает только окно xterm с заголовком login, которое успешно инкорпоривалось в KDE, запущенную на удалённой машине, приобретя обрамление соответствующее стилю удалённого KDE. Если его открыть имеем бесконечный ряд строк вида:
got DevicePresenceNotify event (reltype=15)[\tt]

Всё бы ничего, но это костыль  :-[
Может кто подскажет как сделать по-человечески (описание проблемы см. в моём посте выше)?

Оффлайн mahoro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Может быть просто стоит взять вызов ssh в кавычки?

Оффлайн igel

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Мда. А ларчик просто открывался. Называется - если ничего не получается, прочтите наконец ман  :-[  (xinit, в данном случае):

Both the client program name and the server  program  name  must  begin
with  a  slash  (/) or a period (.).  Otherwise, they are treated as an
arguments to be appended to their respective startup lines.


xinit /usr/bin/ssh -XC user@host icewm-session -- :1

Работает. Интересно, почему у других работало без указания пути к ssh? У меня на разных дистрибутивах (ALT - ядро 2.6.11 и Ubuntu - ядро 2.6.21) , была описанная выше ошибка.

 

Страница сгенерирована за 0.059 секунд. Запросов: 24.