Ответы пользователя по тегу Linux
  • Как установить linux рядом с Windows 7?

    ParkeTg
    @ParkeTg
    Установить Linux в штатном режиме. Если автоматика не сработала, и автоматически не был сгенерирован grub.сfg, такой, что можно выбирать между Linux и Windows, то необходимо доустановить из репозитория os-prober, и после этого перегенерировать grub.cfg.
    grub-mkconfig -o /boot/grub/grub.cfg
    Либо просто добавить в grub.cfg нужную menuentry руками.

    Я не полностью уверен, но скорее всего установщик убунты сделает всё сам.
    Ответ написан
    Комментировать
  • ProxyCommand в SSH

    ParkeTg
    @ParkeTg Автор вопроса
    Итак, я все же решил проверить, что там творится с пайпами ( говорить «трубами» язык не поворачивается ).
    Запускаем ssh, без указания опции ProxyCommand:

    ssh root@0.0.0.0
    

    В соседней владке терминала смотрим, пытаемся отгрепать все открытые процессом пайпы:

    lsof | grep -E "^ssh.*FIFO"
    

    И ничего, пустота. Не удивительно, мы ведь ничего не пишем в stdin. Давайте попробуем что-то пописать:

    pv /dev/zero | ssh root@0.0.0.0 "cat > /dev/null"
    

    Прогресс-бар зашевелился, переходим в соседнюю вкладку, и снова пытаемся отгрепать

    lsof | grep -E "^ssh.*FIFO" 
    

    В ответ получаем:
    ssh       23782       svon    0r     FIFO           0,8       0t0   2401849 pipe
    ssh       23782       svon    4r     FIFO           0,8       0t0   2401849 pipe
    

    Так, отлично, ssh читает из stdout (0r), и еще откуда-то(4r). На этом этапе еще интересно посмотреть, какие TCP подключения использует ssh. Отгрепаем по TCP:

    lsof | grep -E "^ssh.*TCP" 
    

    На выходе получим:
    ssh  24344  svon  3u  IPv4  2432025  0t0  TCP  arch:59472->super-vps.hell:ssh (EST.)
    

    Далее, запускаем ssh в связке с netcat (ProxyCommand )

    ssh -o "ProxyCommand nc %h %p" root@0.0.0.0
    

    Идем в соседнюю вкладку и опять грепаем, но только уже и netcat тоже:
    
    lsof | grep -E "(^ssh|^nc).*FIFO" 
    

    И, что у нас на выходе?
    ssh       24899       svon    4w     FIFO           0,8       0t0   2449781 pipe
    ssh       24899       svon    5r     FIFO           0,8       0t0   2449782 pipe
    nc        24900       svon    0r     FIFO           0,8       0t0   2449781 pipe
    nc        24900       svon    1w     FIFO           0,8       0t0   2449782 pipe
    


    А вот что. И если мы внимательно посмотрим на номера нод, то мы заметим.
    Что 4w (ssh ?) пишет в 0r (netcat stdin), а 5r (ssh ?) читает из 1w (netcat stdout).
    Забыли посмотреть подключения. Исправляем:

    lsof | grep -E "(^ssh|^nc).*IPv4" 
    

    И имеем в итоге:
    nc  24900  svon  3u  IPv4  2449789  0t0  TCP arch:59476->super-vps.hell:ssh (EST.)
     

    Видим, что из наших 2-х программ, подключение только одно, принадледжит оно неткету.

    Если посмотреть лог запуска ssh (с опциями -vvv), можно увидеть, что все прекрасно шифруется, и вообще, во всем мире — мир.

    Опираясь на факты, которые я привел выше, осмелюсь быть уверенным, что все работает именно по предполагаемой мной схеме (еще выше).

    Что нам это позволяет? Вообще, много чего, но мне интересно было пробросить ssh туннель, через тор на свою VPS. Зачем? Хотя бы потому, что это прикольно. Спасибо что читаете, жду дополнений.
    Ответ написан
    Комментировать