howto

Как "прокинуть" SSH-соединение через интернет до машины в локальной сети, если можно зайти только на сервер?

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

  1. Настраиваем и на целевой машине и на роутере вход по SSH-ключам. Настраиваем ssh-agent, чтобы не вводить постоянно пароль к своему ключу. Кстати в Fedora "искаропки" пароль для ключа спрашивается один раз в красивом окошке.
  2. Ставим на роутер netcat (любую понравившуюся реализацию).
  3. Прописываем в ~/.ssh/config на своей машине (с которой подключаемся) что-то типа этого:
    1. # Роутер, доступный через интернет.
    2. # Если для подключения используются настройки по умолчанию - ничего прописывать не нужно.
    3. Host external-server.example.org
    4. Port 12345
    5. User superadmin
    6.  
    7. # Целевая машина.
    8. # В качестве имени можно указать что угодно - оно не будет использоваться для определения IP-адреса.
    9. # Умолчальные настройки указывать не нужно, главное - ProxyCommand.
    10. Host internal.frominet
    11. Port 54321
    12. User superadmin
    13. # 192.168.1.2 - IP целевой машины в локальной сети. Можно указать имя хоста, если настроен локальный DNS-сервер.
    14. ProxyCommand ssh external-server.example.org 'netcat 192.168.1.2 %p'
  4. Выполняем:
    1. $ ssh internal.frominet
  5. ???
  6. PROFIT! =)

Как в Windows запустить Explorer от имени Администратора (или любого другого пользователя)?

Сам explorer.exe походу никак, он не хочет запускаться через runas. Но можно через runas запустить iexplore.exe, он может работать как и обычный explorer. Для упрощения можно написать небольшой BAT-скрипт:

  1. runas /user:Администратор "C:\Program Files\Internet Explorer\IEXPLORE.EXE ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"

"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" - это UUID "Моего компьютера".

UPD:
Работает только с 6-м Internet Explorer'ом =(.

Как посмотреть, какие методы аутентификации поддерживает конкретный SSH-сервер?

Можно указать ssh опцию "PreferredAuthentications" с заведомо несуществующим методом. Примерно так:

  1. $ ssh -o 'PreferredAuthentications abyrwalg' linux.org.ru
  2. Warning: Permanently added 'linux.org.ru' (RSA) to the list of known hosts.
  3. Permission denied (publickey,gssapi-with-mic,password).
  4.  
  5. $ ssh -o 'PreferredAuthentications abyrwalg' freebsd.org
  6. Warning: Permanently added 'freebsd.org' (RSA) to the list of known hosts.
  7. Permission denied (publickey,keyboard-interactive).

В скобочках после "Permission denied" выдаётся список поддерживаемых методов. В данном случае:

  • password - Обычная аутентификация по паролю. Настройка в sshd_conf - "PasswordAuthentication".
  • keyboard-interactive - Интерактивная аутентификация, при которой сервер что-то спрашивает, а пользователь отвечает. Часто внешне ничем не отличается от "password", но в принципе с помощью "keyboard-interactive" можно наворотить что угодно, протокол это позволяет. Если в настройках sshd включен PAM, то он будет спрашивать пароль именно с помощью этого типа аутентификации. Настройка в sshd_conf - "ChallengeResponseAuthentication".
  • publickey - С помощью открытого и закрытого ключа. Настройка в sshd_conf - "PubkeyAuthentication".

Что такое "gssapi-with-mic" - хз =).

Изменение отрисовки шрифтов в графиках Munin'а

Тут мне через жаббер намекнули, что в Munin'е на моём домашнем сервере шрифты говно. И действительно, мелкие цифры и буквы на графиках практически не читабельны:

Автоматическое добавление торрентов из RSS-лент

Из одного недавнего срача на ЛОРе узнал, что торренто-качалки под Windows умеют вытаскивать ссылки на torrent-файлы из RSS-лент и ставить их на закачку. Более того, оказывается на используемых мной трекерах (novafilm.tv и lostfilm.tv) подходящие ленты есть. Подумал я и решил, что автоматизация закачек свежих серий - штука хорошая. Сначала начал писать скрипт на shell'е, но он получался громоздким и страшным, так что где-то на полпути бросил и переписал на python'е. Вот результат: rsstorrents (качать с помощью mercurial). Этот скрипт запускается из cron'а, проверяет обновления RSS-лент на трекерах, вытаскивает ссылки на torrent-файлы, отфильтровывает только нужное регекспами и скачивает torrent-файлы в отдельную директорию. Ах да, ещё отправляет электрописьмо со списком скачанных файлов =).

Далее идёт краткая инструкция...

Создание самоподписанного SSL-сертификата на несколько доменных имён с помощью openssl

В этой заметке описан простейший способ создания самоподписанного (self-signed) SSL-сертификата для нескольких DNS-имён. Нужно это для того, чтобы браузеры не ругались при заходе на один сервер с одним сертификатом по разным именам (например example.org, www.example.org и example.info).

Добавление SSL-сертификатов в Google Chromium

А вот и первая заметка: о том, как добавлять в линуксовый Chromium SSL-сертификаты, чтобы он не выдавал предупреждение при заходе по https на сайты с самоподписанными сертификатами. Скрипт для автоматизации рутины прилагается =).

RSS-материал