Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Русификация
  COM-порт
  Монтирование образов
  dd
  burncd
  Консоль
  polling
  redirect_port
  wolf3d
  W.O.L.
  HDD->HDD
  bsdstats
  pdf в html
  monitord
  monit
  dvd в avi
  LAM
  Контроль провайдера
  pppd
  ru man
  geom_uzip
  colorize
  nettop
  немного о ssh
  установка по сети
  ClamAV mirror
  BlueTooth
  WiFi WPA
  iftop
  iPod
  2 CD -> 1 DVD
  ipcalc
  LACP и VLAN
  FFS из-под WinXP
  queues
  NFS & Win2k3
  Dynamic DNS
  ProFTPD+iconv
  deltup, xdelta, bdelta
  Приглашение csh/tcsh
  настрока bash
  Lan over Bluetooth
  pppoe
  метаданные exif
  dd : бэкапируем windows
  mozilla autoconfig
  Proxy Auto Configuration
  NNTP сервер
  Rinetd
  ISO DVD FreeBSD
  my disc1
  sftp+chroot
  SendXMPP
  APCUPSD
  Видеонаблюдение
  Настройка аудиоплеера на ximp3
  HDD(mbr) -> HDD(gpt)
  mc 4.6.2
  Динамический DNS
  axel
  LiveCD
  NAS на MPD
  backup конфигов на почту
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Мелочи —> немного о ssh

проброска портов с помощью ssh

Автор: lissyara.


    Предистория: Два часа в серверной, пока подымали пару серваков после отключения электричества, не прошли даром - прихватил радикулит. Слёг дома, но работать надо - как раз внедрение очередного филиала, там пара ручных операций, которые никак не задокументирую, ну и прочее по мелочи. На работе сетевик выдал логин/пароль/IP - и сказал - обычный pptp.
   Мне бы его уверенность - я второй день трясу бубном/ppp/mpd/tcpdump/wireshark - толку ноль. Странные туннели делает циско - хотя винда коннектится влёт. Посему, уже через полчаса попросил прокинуть ssh снаружи на любую машину сети.
   Дальше было интересней. ssh - это просто волшебно - но кроме никсовых серваков, гораздо реже, но требовалось заходить на виндовые. Опять же - хотелось добраться до своего рабочего компа с KDE - там почта и прочие полезные фенечки.
   Шеф, подсказал одну строчку, которую уже полгода пытался заставить меня вычитать в мане - строчка могла пробросить порт с удалённой машины на локальную. Причём с любой машины в удалённой сети, а не только с той, куда у меня ssh. Ну, а дальше было дело техники.
   Лирическое отступление. У меня дома два компа (ну, три - третий ноут) - все, в т.ч. и ноут, под FreeBSD. Первый комп это - пережиток тёмного виндового прошлого, третий пенёк - это гейт между моим десктопом (когда-то он был под виндой) и локалкой. По совместительству он же файлопомойка для меня, тестовая машина и кое какие ресурсы для локальной сети района. Комп этот, я запихал в вентиляционную шахту, забил дощечкой, и последний раз видел в начале лета - чистил вентиляторы. Выключается/перезагружается он тока когда вырубают электричество. Второй комп - собственно десктоп, соединён с первым кроссовером.
   Итак. Задача - чтобы не мучаться каждый день с пробросом нужных портов, надо пробросить нужные сервисы на первый комп, на непривелигированные порты, и там их юзать. Цели ясны, задачи определены - за работу, товарищщи!
   Пункт первый - нужен RDP на контроллер домена. Т.к. ssh сессию через которую проброшены порты не закроешь, не разорвав TCP соединения на проброшенный порт, делать это, зайдя по ssh на первую машину - не имело смысла. Был придуман обходной манёвр - т.к. я не юзаю screen (может и зря - но мне не удобно...), я использовал физические консоли сервера - через watch.
   Для начала, надо подготовить машину находящуюся на работе - на которую у меня есть ssh. Добавляем одну опцию, и рестартуем sshd:
radius$ more /etc/ssh/sshd_config | grep TcpFor | tail -1
AllowTcpForwarding yes
radius$ /etc/rc.d/sshd restart
Stopping sshd.
Starting sshd.
radius$

   Итак, лезем на мою первую машину по ssh, там от рута лезем на физическую консоль:
lissyara$ watch -W ttyv6

   Я залез на шестую (седьмую), вы можете на любую свободную (на пяти предыдущих у меня dvd в avi пережимается :)). Там логимся рутом, и запускаем такую команду:
$ ssh lissyara@111.222.111.222 -L 192.168.254.254:3390:172.172.172.172:3389

   Разъяснения:

  • 111.222.111.222 внешний IP адрес на который открыт ssh (реально - ssh на внутренней машине, просто проброшен порт, ну да не суть важно - операция прекрасно прокатит на гейте с двумя сетевухами)
  • 192.168.254.254 - это внутренний адрес моего рутера, который гейт между мной и локалкой.
  • 3390 - порт, на который я буду коннектится - почему-то не получилось пробросить на тот же номер порта.
  • 172.172.172.172 - IP контроллера домена внутри локальной сети.
  • 3389 - порт на контроллере домена на котором висит rdesktop
       После логина, жмём Gtrl+G c целью отвалиться от реальной консоли обратно, в исходную сессию ssh. Можно проверить, не отпало ли чего:
    lissyara$ w | grep v6
    

       Можно коннектится по RDP на 192.168.254.254:3390 - попадём на 172.172.172.172:3389. Таким же макаром пробросил локальный jabber и почту.

       Дальше было интересней. Несмотря на то, что я затащил все необходимые сервисы к себе на домашнюю машину, остался чисто теоретический интерес по заходу на свой рабочий десктоп. Может даже немного практический - мало ли что может резко понадобиться, что непробросишь.
       В KDE есть приблуда, типа "Удалённого помошника" в винде, тока более грамотно организованная.


       Когда-то я с ней развлекался - помню что работало, значит оставалась одна проблема - как её запустить минуя ГУИ. Гугление дало первую или вторую ссылку по теме, где и было описано что надо сделать (на источник не ссылаюсь - непомню, а снова искать - лень. Тем более - не копирую а своими словами передаю).
       Проблема номер один - комп ребутался, поэтому я там не залогинен - висит окно KDM. Итак, лезем на машину по ssh, и для начала его килляем:
    lissyara$ killall -9 kdm-bin
    

    и рихтуем один файлик до такого состояния:
    lissyara$ more .kde/share/config/krfbrc
    allowDesktopControl=true
    allowUninvited=true
    confirmUninvitedConnection=false
    disableBackground=false
    disableXShm=false
    enableSLP=true
    preferredPort=-1
    uninvitedPasswordCrypted=
    
    [invitations]
    invitation_num=0
    lissyara$
    

    после чего, рихтуем ещё такой файл:
    lissyara$ more /usr/home/lissyara/.xinitrc
    exec /usr/local/bin/startkde
    lissyara$
    

    и запускаю КДЕ от своей учётки:
    lissyara$ startx &; exit
    

       Логичный вопрос - зачем сразу сделал "exit"? А вы не делайте - поймёте :) Снова логинимся по ssh на машину, проверяем - запустилось ли kde, и открыты ли нужные порты:
    lissyara$ sockstat | grep kdeinit | grep tcp
    lissyara kdeinit    77507 13 tcp46  *:5800                *:*
    lissyara kdeinit    77507 14 tcp46  *:5900                *:*
    lissyara$
    

       После чего пробрасываем 5900 порт, на 5901, к примеру. Запускаем krdc (из меню K, или с консоли), и выбираем такие параметры:


       Ну и всё. Надо заметить, что подключение происходит вообще без паролей (пробовать больше негде - но может связано с тем, что дома и на работе пароль одинаковый - если быть вполне честным - не очень я понимаю принципа работы этой ГУЁвины), поэтому не стоит вытыкать в инет такую машину.

    P.S. Надо всё же оcилить маны по ssh/sshd.
    P.S.2 Чё то я стал скриншотиками увлекаться... Старею чтоли?



    размещено: 2007-09-26,
    последнее обновление: 2007-09-26,
    автор: lissyara

    оценить статью:

    pevg, 2007-09-27 в 17:02:18

    Используется VNC протокол, поэтому туда же можно еще VNC клиентом ходить, даже из виндов (из под другого пользователя и пароль не запрашивается…).
    Только очень напрягает, когда при наборе команды на удаленной консоли, буквы дублируются. Или может что не так делаю...
    krdesktop клиентом по протоколу RDP ходить на виндовую машину куда приятнее.
    Подскажите, пожалуйста, куда копать, если можно ещё что-то использовать.

    freeman_tnu, 2007-09-27 в 18:16:02

    pevg
    nomachine.com - весьма удобно

    TOUGHCAT, 2007-09-28 в 10:15:33

    хмм... так вот от чего этот порт 5900... думал - чего там ищут

    Little_Jon, 2007-09-28 в 22:44:16

    Алексей, пробросить X на свою машину проще простого, запусти, ssh -X бла бла бла, ну а дальше startkde или что там у тебя, Если хочешь увидеть тоже в виндах путти + XMind тебе в помощь :).
    Главное выздоравливай, здоровье это важно.

    Little_Jon, 2007-09-28 в 23:01:45

    Добавочка, startkde, можно запускать только если на локальной машине TVM и более ничего, никаких оконых менеджеров. Иначе будет KDE в KDE что не есть гуд. В начале можно что нибудь попроще, konqueror например. Винды startKDE переживают нормально :)

    Anton, 2007-10-05 в 22:31:33

    мне кажется намного проще поднять vpn сервер, и жить спокойно.

    Vadim, 2007-10-10 в 7:22:55

    А зачем вообще такие мучения?!
    > cd /usr/ports/net/vnc
    На рабочей машине у меня КДЕ, но юзать его по сети некомфортно, тормозит. А у vnc свой собственный xinitrc, так что я, когда удалённо, использую icewm. Ещё плюс - сессия не теряется при дисконнекте. Соединяешься ещё раз, и продолжаешь с того же самого места, где прервался.

    pevg, 2008-01-12 в 14:09:43

    Спасибо Vadim
    Советую /usr/ports/net/vnc или /usr/ports/net/tightvnc
    У tightvnc есть свой xstartup в котором настроить загрузку хоть kde, хоть icewm (удалив при этом twm). При установке можно ввести пароль на разные уровни доступа. Сессия не теряется при дисконнекте и работается комфортно.

    P.S. to lissyara - кстати, в настройках доступа Desktop sharing есть возможность установить пароль доступа.

    P.P.S. надо будет nomachine попробовать

    Alex27, 2008-03-29 в 21:46:28

    Кстати... А нельзя доступ к виндовым машинам через фришный шлюз организовать простым редиректом порта с помощью natd?

    redirect_port tcp 111,111,111,111:3389 3389

    где 111,111,111,111 - адрес внутренней виндовой машины.
    Если это DC, - с него можно дальше этим же RDC ходить на любые другие виндовые машины.

    Jabax, 2008-04-08 в 12:25:09

    ssh -f -N -p 10000 root@111.111.111.111 -L 192.168.1.5:3120:111.111.111.111:3120

    Так можно пробрасывать туннель в бэкграундном режиме не переключаясь в физ консоль.  
    Здесь 111.111.111.111  - адрес удалённой тачки, 192.168.1.5 - локальной машины.

    -p 10000 пробрасывает через 10000 порт на удалённой машине (его надо вначале открыть в shhd_config) чтоб не забивать дефолтный порт

    sash, 2008-05-27 в 16:03:05

    я сам на работе сижу за прокси который много чего запрещает, да и pop3 через него не прогонишь. Сначала юзал putty который поднимал локальный socks и пробрасывал нужные порты. неудобно то, что она не умеет сворачиваться в трею. Нашёл выход - bitvise tunneler (http://www.bitvise.com/tunnelier) ssh клиент - поддерживает соединение и в трее висит оч. удобно рекомендую. для домашнего использования бесплатный.

    USER, 2010-11-19 в 9:32:37


    Есть PC1 (ЗА НАТОМ),  PC2  и SERVER с демоном sshd. Подскажите , каким образом с PC2 попасть на PC1(remote desctope) использую SERVER  как промежуточный ? WINDOWS


    Оставьте свой комментарий:
    Ваше имя:   *
    e-mail:  
    жирный
    наклонный
    подчёркнутый
    ссылка
    цвет
    Нынешний год:   *
     


  • Хостинг HOST-FOOD

    2014-07-27, lissyara
    gmirror

    Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
    2013-08-20, zentarim
    Scan+Print server FreeBSD 9

    Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
    2011-11-20, BlackCat
    Разъём на WiFi-карту

    Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
    2011-09-14, manefesto
    Настройка git+gitosis

    Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
    2011-08-14, zentarim
    Wi-FI роутер + DHCP + DNS

    Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
    2011-06-15, -ZG-
    Охранная система на FreeBSD+LPT

    В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
    2011-03-13, terminus
    ng_nat

    Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
    2011-02-20, Капитан
    Nagios+Digitemp

    Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
    2011-02-17, Le1
    Zyxel Configuration

    Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
    2011-02-16, fox
    hast carp zfs ucarp cluster

    HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
    2011-02-04, BlackCat
    Восстановление ZFS

    История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
    2011-02-03, Капитан
    1-Wire

    Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
    2011-01-28, Капитан
    Температура в серверной

    Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
    2011-01-21, m4rkell
    Syslog server

    Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
    2011-01-07, lissyara
    Canon/gphotofs

    Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
    2010-12-13, Al
    IPSec

    Описание принципов работы IPSEC и способов аутентификации.
    2010-12-07, manefesto
    FreeBSD on flash

    Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
    2010-12-05, Fomalhaut
    root ZFS, GPT

    Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
    подписка

        вверх      
    Статистика сайта
    Сейчас на сайте находится: 30 чел.
    За последние 30 мин было: 78 человек
    За сегодня было
    2416 показов,
    590 уникальных IP
     

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0395 секунд
    Из них PHP: 25%; SQL: 75%; Число SQL-запросов: 79 шт.
    Исходный размер: 147578; Сжатая: 26840