Ярлыки

FreeNAS (29) SSH (16) Transmission (13) WIDLE (11) FreeBSD (9) NAS4Free (9) серверный корпус (7) OpenSSH (6) звук (6) фото (6) Dropbox (5) ZXV10 H201L (5) cron (5) kldload (5) FreeNAS test (4) MPD (4) NAS (4) PXE (4) transmission-remote (4) widle.exe (4) ребёнок и компьютер (4) чулок (4) DHCP (3) FireFox (3) Intel NAS Perfomance Toolkit (3) MTU (3) Raspberry Pi (3) RusBSD (3) SSH proxy (3) WebDAV (3) Wget (3) home server (3) musicpd (3) uptime (3) web-качалка (3) обои (3) сиськи (3) 7KJD0 (2) AdBlock (2) Android (2) Athlon (2) Axel (2) BitTorrent Sync (2) Cliget (2) Clonezilla (2) Curl (2) DHCP on FreeNAS (2) DynDNS (2) FireFox vs ZXV10 H201L (2) FlashGot (2) FreeNAS 8 (2) Ghostery (2) IXL.dll (2) Linux (2) PassCryptoBox (2) ProxyCap (2) PuTTY (2) PyLoad (2) RAID (2) SAMBA (2) SSH SOCKS (2) UFS (2) Wallpaper (2) WinSCP (2) Windows (2) blogspot (2) cubieboard2 (2) encfs (2) fsck (2) fstab (2) github (2) mount (2) mpc (2) net.inet.tcp (2) nnCron (2) pkg_add (2) privoxy (2) proxy (2) pxelinux (2) Маршрутизация (2) Тюнинг (2) Яндекс.Диск (2) Яндекс.Диск в FreeNAS (2) будильник (2) девушка (2) шифрование (2) шлюзность (2) шум (2) 0.7.5.9898 (1) 256 (1) 3G и локальная сеть (1) 3G интернет (1) 3proxy (1) 3proxy конфигурация (1) ALR (1) APC (1) AUSTRUMI (1) Amazon (1) Android + NAS4Free (1) Andromission (1) Athlon AXDA2200UV3C (1) Autocopy (1) BIOS (1) Backup WinSCP Sessions (1) CNic (1) CPU (1) Cannot find file system superblock (1) Canon 600D (1) Canon 600D пробег на FreeBSD (1) Ceph FS (1) Chaintech (1) Chocolatey (1) Clear Type (1) Client175 (1) Comprar Tirar Comprar (1) CrystalDiskInfo (1) DDNS (1) DOS (1) Defendant (1) Dokan (1) Dropbox + Android (1) Dropbox + NAS4Free (1) Dropbox API (1) Dropbox in FreeBSD (1) Dropbox in FreeNAS (1) DynDNS.org (1) EducationPack (1) ExtraDNS (1) FolderSync (1) FolderSync Lite (1) FoxyProxy (1) FreeBSD 10 (1) FreeBSD 10.0-RELEASE (1) FreeNAS 10 (1) FreeNAS NAS4Free (1) FreeNAS WebGUI (1) FreeNAS завис (1) FreeNAS с ноля (1) GetLastInputInfo (1) Gmail Watcher (1) Google translate (1) Gruzila (1) H208L (1) HTTPS Everywhere (1) IDLE (1) ILIS (1) Intercepter (1) Intercepter-NG (1) Jumbo Frames (1) KDE4 (1) KMS (1) KiTTY (1) Kolibri (1) LASTINPUTINFO (1) Libretto (1) Linux + Android (1) M200a (1) MPD-Webinterface (1) MiniX (1) NAS4Free TEST (1) NAS4Free с ноля (1) NAS4Free-Plus (1) NASPT (1) NFS (1) NFS vs SAMBA (1) Native Shell (1) NativeCMD (1) New TTCP (1) On-line репетитор (1) OpenMediaVault (1) OpenSSL (1) PAC (1) PCI-SATA (1) PDNSD (1) PLINK (1) PLOP Linux (1) PMagic (1) Parted Magic (1) PersistAllDeviceInstalls (1) Pico PSU (1) Pixlr Grabber (1) Port Forwarding (1) Prestigio 4300 (1) Prestigio 4300 root (1) Prestigio MultiPhone 4300 DUO (1) PuTTY SOCKS (1) PuttyGen (1) R-Studio (1) R.saver (1) RDP (1) RDP for M200a (1) RDR (1) RealXXP (1) Release Notes (1) Remote Transmission (1) SMART (1) SMB/CIFS (1) SOCKS-proxy (1) SSH -D (1) SSH port (1) SSH продвинутые функции (1) SSH туннель (1) SSH шлюз (1) SSH-ключ (1) SerCrypt (1) Shadow Defender (1) SliTaz (1) SoftEther VPN (1) Software Data Cable (1) Sparkleshare (1) Static library (1) SyntaxHighlighter (1) TCP/IP (1) TeamViewer port (1) TorrentBox (1) TorrentMonitor (1) Transmission Add-ons (1) Transmission из консоли (1) Transmission через SSH (1) UALinux (1) UPS (1) Ubuntu (1) Ubuntu для ребёнка (1) Upgrade (1) UrlCorrector (1) WD (1) WOL (1) WPAD (1) WatchDog (1) Wi-Fi Keyboard (1) Win7 (1) Win7 and OpenSSH (1) WinAPIExec (1) Windows 7 из образа в домене (1) Windows AIK (1) Windows7 (1) X11 (1) XTips (1) Xorg (1) ZFS (1) ZTE (1) ZTE H208L (1) Zentyal (1) box.com (1) cifled (1) cmdradio (1) comled (1) crontab (1) davfs2 (1) dd (1) demonizer (1) devcon (1) dump (1) encfs4win (1) fail2ban (1) failed its checksum test (1) festival (1) festvox-aec (1) festvox-kal16 (1) forums.nas4free.org (1) fsbackup (1) fusefs-wdfs (1) gPXE (1) generalize (1) girl (1) gmail (1) gnome (1) google search (1) grep (1) http://repetitor.tut.by (1) icecast (1) ilis.by (1) iwconfig (1) iЛис (1) kill (1) mycubieserv.blogspot.com (1) ncpa.cpl (1) nuttcp (1) oobeSystem (1) passwd (1) pax (1) proftpd (1) ps (1) radio (1) root (1) route (1) rxcsum (1) samba antivirus (1) sendmail (1) shoutcast (1) smb.conf (1) startx (1) sysctls (1) syslinux (1) sysprep (1) tan (1) test (1) tor (1) transmission-daemon (1) transmisson-remote-gui (1) txcsum (1) ufs2tools (1) uname (1) unattend.xml (1) vi (1) wdfs (1) weather (1) which (1) winamp (1) winport-transmission (1) xprintidle (1) xprintidle для Windows (1) Агент Смит (1) БП (1) Белтелеком (1) Восстановление пароля root FreeBSD (1) Защита от взлома SSH (1) ИЛИС (1) Многопользовательськая торрент-качалка на transmission (1) Оптимизация wi-fi (1) Охолождение CPU (1) Переход на NAS4Free (1) Проброс портов (1) Распределенная файловая система (1) Сетевая загрузка (1) Туалетная автоматизация (1) Ускорение Интернета (1) ФФ (1) Хранение паролей в облаке (1) авторегулирование скорости Transmission (1) админка (1) антивирус на самбе (1) атака на SSH (1) безвентиляторная система (1) безвентиляторный корпус (1) блог (1) вентилятор (1) взлом SSH (1) восстановление (1) вставка кода (1) вставка кода в blogger (1) день программиста (1) дьяволица (1) заговор вокруг лампочки (1) запуск exe-шника из Dokan (1) интернет радио (1) интернет ускользает (1) кибермама (1) компрессия трафика (1) копия раздела FreeBSD (1) корпус (1) куллер (1) маршрут по умолчанию в Linux (1) маршрутизация NAS4Free (1) маршрутизация в FreeBSD (1) маршрутизация в NAS4Free (1) матрица играет со мной (1) метрика (1) модем (1) настройки PuTTy (1) не полное меню модема (1) ноутбучный БП (1) озабоченная (1) оповещения (1) пароли (1) пароль (1) погода (1) подбор пароля к SSH-ключу (1) подготовка к школе (1) подсветка синтаксиса в blogger (1) потоп (1) права доступа (1) проксинатор (1) радиатор (1) резервное копирование (1) репка (1) репозиторий (1) роутер (1) русификация консоли (1) рут (1) рут Prestigio 4300 (1) сбой (1) сетевой шлюз (1) сжатие трафика (1) скорость закачки Transmission (1) солярий в туалете (1) солярий дома (1) солярий своими руками (1) тренинги для детей (1) туалет (1) тян (1) упал FreeNAS (1) управление Transmission из командной строки (1) управление скоростью загрузки торрентов (1) ускоритель интернета (1) файл ответов (1) фильтрация контента (1) фотогалерея NAS4Free (1) фрагментация (1) функциональность bash в cmd.exe (1) хранение паролей (1) чертовка (1) шифрование трафика (1)
Показаны сообщения с ярлыком SSH. Показать все сообщения
Показаны сообщения с ярлыком SSH. Показать все сообщения

Повышаем безопасность закрытых ssh-ключей

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

Повышаем безопасность закрытых ssh-ключей [habrahabr.ru]

Атака на SSH

В новой версии Intercepter-NG появилась возможность провести полноценную атаку на SSH-2 протокол.

Атакующий получает данные авторизации пользователя и логирует весь сеанс связи, запуск команд и результат их выполнения.
Для этого Intercepter перенаправляет трафик жертвы на свой собственный ssh сервер и в случае успешной авторизации
проксирует соединение до оригинального сервера.

Читать дальше на хабре

// Аутентификация открытым ключом не подвержена атаке и гарантирует безопасное подключение к серверу.

WIDLE v.0.0.2

Работа над утилитой WIDLE идёт. Но нечто не дают сосредоточится и писать ровный код. Очень гложет глобальное потепление. А может я просто разучился кодить ))) Больше я код выкладывать не буду, стыдно! Но, АДОВ КОТ работает! 
И так, версия ВТОРАЯ базируется на первой, но сильно переработана. Поэтому и кривоват исходник. Но всё тестируется и прогоняется. Чекаются баги, утечки памяти и пр. Теперь WIDLE разумней называть не утилитой, а программой.
Скачать: WIDLE 2



WIDLE

Как и обещал выкладываю своё произведение widle.exe
Это утилитка, которая проверяет активен ли пользователь на Windows-машине и выполняет команду при изменении состояния. Предистория в нескольких частях:
1. Управление торрентами
2. Управление загрузкой торрентов
3. Почти интиллектуальное управление скоростью загрузки торрентов
И в этой части непосредственно рабочее решение (я надеюсь).
При запуске утилита ищет в рабочей директории файл конфигурации widle.cfg и не найдя его создаёт по-умолчанию:

# http://mytoiletserver.blogspot.com/ 
# 

# Enable debug messages 
debug_messages = 1

# Enable intrusive call commands in demonizer mode 
intrusive_call = 1

# Timeout to switch in IDLE 
real_idle_timeout = 120

# Pause in cycle for check IDLE status 
time_cycle = 10000

# Executing command in User-IDLE status 
command_idle = ssh.exe root@10.10.10.10 nohup /usr/local/bin/transmission-remote -as --auth transmission:mypass

# Executing command in User-Active status 
command_active = ssh.exe root@10.10.10.10 nohup /usr/local/bin/transmission-remote -AS -pr 240 --auth transmission:mypass 

5. Вывод дополнительной информации.
8. Навязчивый режим. Это, когда команды выполняются после каждой проверки состояния IDLE. В противном случае, команды посылаются только при изменении состояния. Навязчевый режим подходит для управления скоростью в смешанном режиме. Когда управляет ещё кто либо, например CRON.
11. Время инерции активности пользователя. Чувствительность в секундах.
14. Период проверки, мс.
17. Команда, выполняемая, при обнаружении спящего пользователя.
20. Команда, выполняемая, при активном пользователя.

Далее утилита выдаёт подсказку по ключам командной строки:


 -h     - this help
 -p     - print IDLE to display and return IDLE-value in exit-code
 -i     - interactive visualization IDLE
 -z     - demonizer for execute command in cycle

Режим печати может быть полезен при использовании утилиты в составе скриптов. Она возвращает в коде значение IDLE и, конечно, в консоль. Режим визуализации бесполезен, но даёт представление об отсчёте IDLE-time в интерактивном режиме. И самый нужный режим - Демонайзер! В этом режиме в цикле происходит проверка состояния и выполняются те самые команды.
Сама утилита достаточно универсальна и выполнять команды может разнообразные. Но в нашем случае выполняется команда управлением скоростью закачки Transmission через SSH. Подразумевается, конечно, что сессия SSH авторизуется ключами. И тут меня ждал маленький сюрприз: Win7 and OpenSSH
Внимательный читатель заметит, что команды перепутаны местами. Именно поэтому сам экзешник я пока выкладывать не буду, надо ещё протестировать :)

Win7 and OpenSSH

Бог послал кусочек сыра. На этот кусочек злачный поставил я Win7. Про миграцию вкратце я уже писал Миграция инструментария на Win-машине. А сейчас вот столкнулся с затором OpenSSH. Дело в том, что сейчас работаю над управлением скоростью закачки Transmission, который стоит на сервере NAS4Free, из под параллельно смотрящего в инет компа на Win7. Тыркнулся на сервер

ssh -v root@10.10.10.10

А в ответ типа:

Could not create directory '/home/Admin/.ssh'.
Failed to add the host to the list of known hosts (/home/Admin/.ssh/known_hosts).

Крутил-вертел директории и прописал в результате конкретные файлы в конфиге c:\Program Files (x86)\OpenSSH\etc\ssh_config благо файл конфигурации нашёлся! Но и на этот случай его можно указывать в аргументах.



IdentityFile с:/Keys/rsa
UserKnownHostsFile С:/Keys/user_known_hosts

Тогда нашёлся ключ, добавился фингер на хост и всё заработало в тихом режиме.

Что мне не пригодилось, но понравилось и я решил запомнить:
Installing OpenSSH on Windows 7
Памятка пользователям ssh по продвинутым функциям
Но бывает материал в инетах теряется, а не притянуть ли его сюда?


Почти интиллектуальное управление скоростью загрузки торрентов

Кажись тупею. Только с третьего раза дал более-менее внятное название статье )))
Всё началось с того, что супруга начала жить дома не только ночью, но и днём. Управлять скоростью закачки в ручную стало совсем не удобно. И я написал первую и вторую части сего труда. Соответственно, это третья часть. В первой части наметил курс: управляю скоростью, дёргая Alt-Speed и Peer-Count, через transmission-remote. В CRON-е NAS4Free уже есть некоторые задачи на утро и на ночь. Кроме этого, на win-машине, которая в Инет смотрит параллельно серверу, в один интерфейс, буду запускать цикл по проверке активности GUI-пользователя. Именно из этого цикла и будут посылаться команды торренто-качалке на сервере. Во второй части я определился, как именно буду посылать команды с win-машины на сервер - это через SSH. Реализовывать свой RPC протокол, даже имея исходники, дело для меня лично не сильно привлекательное. Ну а эта, третья часть, чуть менее, чем полностью, виндовая. Здесь я хочу сделать замену скрипту из первой части и перенести его функционал на винду.

1. Демона буду делать на С++. Я много недолюбливаю скрипты, в частности под win. А почему буду именно делать? В лом стало разбираться с вызовом API из командной строки. Даже, если, это делать удобно (WinAPIExec).

2. Определение активности GUI-пользователя. Можно оригинально расставить хуки на клаву и мышку, как это успешно сделал Paul DiLascia. Всё прозрачно, понятно и разжёвано на русском. Исходники скомпилировал, проверил - на Win7 работают. Но ощущение велосипеда не покидает. Всёже вернее будет использовать соответствующие API:

LASTINPUTINFO lpi;
lpi.cbSize = sizeof(lpi);
GetLastInputInfo(&lpi);

При желании продвинуться можно будет почитать Определяем бездействие пользователя в Windows

3. Функционал. Программа будет в почти вечном цикле, назову её демоном, хоть и не разу не служба. Утилита должна уметь подтягивать из файла настроек или реестра следующую конфигурацию:
  1. TimeOut of Cicle [uint] - частота проверки
  2. IDLE Time [uint] - честное время простоя
  3. Command IDLE [string] - команда, выполняемая при честном простое
  4. Command Active [string] - команда, выполняемая при активности
Напишу её универсальной, без привязки к SSH или Transmission. Команды будут забиваться обыкновенной строкой. И назовётся сие чудо widle.exe

На данный момент доступна уже вторая версия:WIDLE v.0.0.2 (Static library) на Yandex.Disk
Подробней читать по соответствующему тегу WIDLE


Управление загрузкой торрентов



Ещё интерфейсы и клиенты: Transmission Add-ons

Это продолжение статьи Управление торрентами.
На самом деле, там не управление торрентами, а управление шириной закачки.
Остановился я на том, что на Win машине хочу определять активность пользователя и отсылать команду своему серверу на ужатие или расширение амплитуды скорости закачки Transmission.
По аналогии с запуском web-качалки в соответствующей теме web-качалка finality я буду управлять Transmission через SSH. Думаю, что не так сложно общаться с Transmission по RPC протоколу, без SSH, но разбираться на данный момент нет желания. Но линк запомню на будущее: Спецификация RPC протокола.

Команда "успокоить" торрент:

ssh.exe root@10.10.10.10 nohup /usr/local/bin/transmission-remote -as -pr 4 --auth transmission:mypass


Команда качать по-полной:

ssh.exe root@10.10.10.10 nohup /usr/local/bin/transmission-remote -AS -pr 240 --auth transmission:mypass


Ограничение по пирам -pr сыро, ещё буду экспериментировать.

Кстати, есть и для винды аналог консольного transmission-remote в пакете winport-transmission, но он слегка обрезан и не умеет именно эти, мною используемые, ключи. И не факт, что сможет коннектится к своему старшему UNIX-брату, поставляется он вместе с win-transmission-daemon v.1.40+
После установки из MSI пакета при запуске попросила libeay32.dll (SSL Module) забавно, да? Ну да, винда у меня свежачёк, но зачем тогда установщик? Забрал библиотеку у PS CS6.
Далее поддерживаемые ключи именно из пакета winport-transmission

Защита от взлома SSH

fail2ban
 Суть этого демона заключается в облегчении жизни пользователя, а именно, он в фоновом режиме сканирует логи (/var/log/pwdfail или /var/log/apache/error_log и др.) на наличие записей вида “Failed password for invalid user condor” для таких служб как sshd, apache, vsftpd и др., и после нескольких неудачных попыток производит блокировку по IP адресу. Количество попыток авторизации, время блокировки и многие другие настройки находятся в файле: 
Код:
/etc/fail2ban/jail.conf 
Настраивается все очень просто, работает отлично. 
 
Ну а наш порт вот ту: py27-fail2ban-0.8.6

Amazon+SSH = SOCKS-proxy

Иду в банк и заказываю валютную Visa. Через неделю получаю, пополняю счёт, активирую интернет-банкинг и СМС-информер. Регистрируюсь в Amazon AWS вот по этой статье.
Прокладываю туннель по своей заметке.

Или если кратко и привязанно к амазоновской линухе
cat /proc/version
Linux version 3.2.21-1.32.6.amzn1.x86_64 (mockbuild@gobi-build-31004) (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) )


, то:
sudo yum -y update
sudo yum install mc
sudo mcedit /etc/ssh/sshd_config

Port 443
Compression yes
Ciphers blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc   

sudo /etc/init.d/sshd restart

И вуаля! Я в Округе Колумбия :)

Всё можно было сделать намного сложнее: Бесплатный VPN от Amazon

SSH-тоннель, как шифрующий архивирующий прокси

Я работаю в организации, где безопасность на высоте )))
В инете я через прокси. Порты закрыты, всё слушается и читается. Социалки, развлечения и не угодные вырезаны. Ограничение по трафику в гигабайт. Не смотря на то, что мультимедиа вырезана его на месяц совсем не хватает. Самый простой вариант купить 3G модем. Но кто ходит по горам, тот быстрее и по долам )))

Хочу свой прокси, шифрующий и архивирующий трафик.
Можно выйти на этот туалетный сервер с работы по SSH, но я ведь не только работаю, но и живу в организации, где всё читается и слушается. Поэтому есть у меня мыслишка купить хостинг. Об этом позже. А пока буду тренироваться на кошках.

Первое, что делаю, это настраиваю SSH на удалённой машине, которая на свободе, за бугром, на порт 443 вместо стандартного 22. Предварительно, конечно, убеждаюсь, что он (порт) свободен на этой машине. Подразумевается, что мой драконовский фаерволл пропускает 443. Точно открытый порт 80 не использую, так как шифрованный трафик через него будет ну уж слишком подозрителен.

SSH конфигурируется при помощи двух файлов:
/etc/ssh/ssh_config – это общесистемный файл, и
~/.ssh/config – это личные настройки пользователя.

Меняю стандартный порт SSH на удалённой машине:
Правлю файл /etc/ssh/sshd_config
Рисую в нём строки:
Port 443
Compression yes
Ciphers blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
После чего перезапускаю sshd
/etc/rc.d/sshd restart
или
killall -1 sshd

Соединяюсь
На рабочей станции запускаю команду:

ssh -p 443 -D 5555 user@$remote -f -N -2 -C -c blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc


  D 5555 - эмуляция SOCKS сервера через порт 5555 по защищённому каналу (привилегированные порты может перенаправлять только root)
   p 443 - использовать порт 443
   f - работа в фоне, после аутентификации
   N - не запускать shell на удаленном хосте
   2 - вторая версия SSH
   C - компрессия
   c - список способов шифрования по приоритету. На первое место ставлю вроде как быстрый и надёжный.



Это означает, что локальный SSHD слушает порт 5555 на локальной машине и перенаправляет с компрессией на $remote по защищённому каналу на порт 443. Соответственно, в конфигах SSHD $remote должен быть указан порт 443.
 # Ключи имеют приоритет над файлами конфигурации.
В клиенте в качестве SOCKS-proxy указываю localhost:5555

Вариант с использованием PuTTY в картинках на английском расписан тут и на русском тут



Ещё почитать можно:
Туннели с использованием SSH. Режим эмуляции Socks proxy в SSH
Создание SOCKS-сервера









web-качалка finality

Делаю WEB-качалку. Для этого настраиваю SSH-авторизацию по ключам: Веб качалка http, ftp
В статье подправил путь пользователя wgetu.
Сгенерированные PuttyGen ключи кладу под нос SSH, именуя их, как id_rsa
Проверяю коннект с win-машинки: ssh -v wgetu@10.10.10.10
Ставлю всё: curl, wget, axel
Проверяю закачку.
cliget говорит, что для wget это выглядело бы так:

wget 
--header='Host: ftp.byfly.by' 
--header='User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; nick:1.9.2.28) Gecko/20120306 Firefox/3.6.28' 
--header='Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' 
--header='Accept-Language: en-us,en;q=0.5' --header='Accept-Encoding: gzip,deflate' 
--header='Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7' 
--header='Keep-Alive: 115' 
--header='Connection: keep-alive' 
--header='Referer: http://ftp.byfly.by/' 
--header='Cookie: __utma=xxx' 
'http://ftp.byfly.by/robots.txt' 
--content-disposition 
-c

 Для axel попробую так:
ssh wgetu@10.10.10.10 "/usr/local/bin/axel -o '/mnt/1TB/Download/robots.txt' 'http://ftp.byfly.by/robots.txt'"
  // Выход из axel - Ctrl-Z


Добавляю в FlashGot (подсматриваю сюда):
win-wget
работает, но зачем?
C:\WINDOWS\system32\cmd.exe
/C c:\usr\GnuWin32\bin\wget.exe [--directory-prefix=s:\Download] [--referer=REFERER] [--user-agent=UA] [URL]
ssh-wget
работает, но надо свернуть окно, мешает
C:\Program Files\OpenSSH\bin\ssh.exe
wgetu@10.10.10.10 /usr/local/bin/wget --directory-prefix=/mnt/1TB/Download/ [--referer=REFERER] [URL]
ssh-axel
работает, но не докачивает (не переписывает)
C:\Program Files\OpenSSH\bin\ssh.exe
wgetu@10.10.10.10 /usr/local/bin/axel -o /mnt/1TB/Download/[FNAME] [URL]

Избавляюсь от консольного окна в Винде.
ssh-wget
C:\WINDOWS\system32\cmd.exe
/C c:\usr\ssh-wget.cmd [REFERER] [URL]
Содержимое командного файла:
c:\usr\hstart.exe /NOCONSOLE "C:\usr\OpenSSH\bin\ssh.exe wgetu@10.10.10.10 nohup /usr/local/bin/wget --directory-prefix=/mnt/1TB/Download/ --referer=%1 %2"
Здесь для запуска SSH-консоли в фоне используется первая попавшаяся на просторах инета утилита Hidden Start. Командный файл используется для сворачивания кавычек, которые FlashGot люто не полюбил с самого начала в целях безопасности. Но без кавычек запустить hstart не получится, он каждый аргумент оптом запускает, как отдельный процесс. А вот если
referer в кавычках, то начинается канитель :(


По итогу качалка на стороне сервера у меня получилась, но в частных самых простых случаях. Для рапид и депозитов пожалуй придётся воспользоваться cliget и ручками (самому дописать C:\usr\OpenSSH\bin\ssh.exe wgetu@10.10.10.10 к буферу и закачка пойдёт в домашний католог), ибо в FlashGot все параметры передать оказалось проблемно для меня. Утешает, что я на самом деле уже точно и не вспомню, когда последний раз пользовался выше упомянутыми файлопомойками :)



Заметка на полях: Качаем с wget или curl из rapidshare.com (--save-cookies)


UPDATE 08.02.2013
Из комментов: sisugi (http://sisugi.livejournal.com/)

Привет.

Может тебе пригодиться.

Нехватало веб-качалки на nas4free (раньше использовал pyLoad, но добавление ссылок copy-paste вводило в уныние).
Воодушевившись твоими записями решил настроить идентификацию по ключам и запуск wget или что то в этом роде.
Но настроив openssh и скормив ключ putty пришла мысль (если не рпав, то поправь):

- закачка будет продолжаться пока активно/свернуто окно с сессией ssh. То есть закрыв окно закачка на НАСе хериться.

В итоге поставил pyLoad.

А так как у него есть CLI, решил попробовать его использовать в своих целях.
Через долгий путь проб и ошибок был рождён следующий батник (ногами не бить, я прозженный виндузятник =))) ):


set str=%1
::удаляем пробелы в строке
set STRURL=%str: =%
::удаляем обромляющие кавычки
set "STRURL=%STRURL:~1,-1%"
cd "c:\Program Files (x86)\putty\"
PLINK.EXE -l user "/usr/local/bin/python /mnt/data/pyload/pyLoadCli.py -u User add other '%STRURL%'"

В настройках FlashGot добавляем новый менеджер закачек и указываем к нему путь.

Всё. При запуске закачки наблюдаем долю секунды моргнувшее окошко cmd и закачка идёт на стороне файлопомойки.


Апдейт батничка.

set "STRURL=%STRURL:~1,-1%" заменить на set "STRURL=%STRURL:""=%"
Переопределяет переменную STRURL обрезая не кавычки, а любые символы слева и справа. А так как в некоторых случаях FlashGot возвращает url без кавычек, то по итогу url получается некорректным.



set str=%1
::удаляем пробелы в строке
set STRURL=%str: =%
::удаляем кавычки
set "STRURL=%STRURL:""=%"
cd "c:\Program Files (x86)\putty\"
PLINK.EXE -l user "/usr/local/bin/python /mnt/data/pyload/pyLoadCli.py -u User add other '%STRURL%'"
 
 Ещё забыл добавить. Не смог корректно запустить pyLoadCli.py в putty - постоянно получаю ошибки:
>>nas:~# python /mnt/data/pyload/pyLoadCli.py -uUser --pw=123456 status
>>Unknown Argument(s) "-uUser --pw=789456 status"


Так как в питоне не разбираюсь - возможную ошибку в коде pyLoadCli.py не исправлял, а внес "хардкодом" пароль в строку:
#client = ThriftClient(config["addr"], int(config["port"]), username, password)
client = ThriftClient(config["addr"], int(config["port"]), username, "123456")

Пока поработает с костылём =)

Аутентификация SSH

В заметке Веб качалка http, ftp я использовал аутентификацию ключами в SSH для прозрачного запуска процессов на стороне сервера.
Повторение - мать ученья. Вот ещё статьи на тему аутентификации ключами:
Использование putty и ssh ключей в Windows
SSH для частого использования
Вы еще не авторизуетесь по ключам? Тогда мы идем к вам
Из комментов к последней статье узнал про KiTTY - забавная штука, надо заюзать :)

Оповещение при подключении к SSH

На Хабре появилась одноимённая статья - http://habrahabr.ru/blogs/linux/117834
Можно будет сделать оповещение sendmail

To: <to@gmail.com>
From: <from@gmail.com>
Subject: 'Security Warning SHH'
Mime-Version: 1.0
Content-Type: text/plain; charset="koi8-r"
Content-Transfer-Encoding: 8bit
"SSH Connection Established with \"$USER\" $(echo $SSH_CONNECTION | sed 's/\(.*\) \(.*\) \(.*\) \(.*\)/from \1:\2 to \3:\4/')"


# cat msg | sendmail -ffrom@gmail.com -vt to@gmail.com

Ускорение входа через SSH

/etc/ssh/sshd_config 
"UseDNS no"

Единственно, стоит отметить, что эта опция по умолчанию уже присутствует в FreeNAS.

Русификация SSH консоли FreeNAS

http://likler.blogspot.com/2009/03/ssh-freenas.html

Веб качалка http, ftp










Хочется качать не только терренты на стороне FreeNAS, но и web-контент - освобождаем процессорное время рабочих станций.

В FreeNAS создаём пользователя для этого дела - wgetu

Для этого пользователя определим домашнюю директорию /mnt/wget
В этой директории будет хранится публичный ключ. Несмотря на то, что он публичный, выставляем права только на чтение для хозяина wgetu
Даём этому пользователю права на запись в директорию /mnt/Download/
Устанавливаем на Windows-стороне на FireFox дополнение FlashGot
Это дополнение перехватывает из браузера линки файлов и передаёт загрузчикам.
В нашем случае загрузчиком будет Wget на стороне сервера. Ну а более конкретным выбором качалки будем определяться в следующем моём посте - WEB-качалка: Wget или cURL?

Есть ещё эксперементальное дополнение Cliget, но я не совсем понял для чего оно. Это дополнение формирует коммандную строку с куками для wget и curl. На этом автоматизация заканчивается. Добавил отзыв:
Please add to Download Dialog radio button for execute command.
And possibility of addition of a prefix:
ssh wgetuser@serveraddr 'wget -O "download_file.exe"'
Будем ждать новую версию...
Но как запусть процесс на строне сервера?
Через SSH, конечно :)
Подразумевается, что OpenSSH уже стоит.
В коммандной строке уже Windows выполняем:
>ssh wgetu@10.10.10.10 'wget -O......'
Как обойти ввод пароля?

Ключами SSH, конечно :)
На Windows-стороне генерируем ключи:
>ssh-keygen -t dsa
Это мы сгенерировали ключи типа DSA
   - приватный
   - публичный

Приватный служит для подписи (но не шифрования). Подпись создается секретно, но может быть публично проверена. Это означает, что инициатор (в нашем случае Windows-клиент) секретно подписывает, а проверить при помощи публичного ключа может любой. Соответственно FreeNAS-у достаточно знать публичный ключ. Обращаю внимание, что в web-морде FreeNASa не надо указывать сгенерированный приватный ключ. Приватный, в свою очередь, хранится в секрете на Win-клиенте, какбы смешно это не звучало :)
Ключи складываются в профиле пользователя в директорию .ssh
Публичный ключ надо показать проверяющей стороне - FreeNASу.
Заходим на сервак консолью под пользователем wgetu и создаём в домашней директории файл authorized_keys, являющийся публичным ключём:
mkdir ~/.ssh 
touch ~/.ssh/authorized_keys  
chmod 600 ~/.ssh/authorized_keys
Несмотря на то, что ключ публичный, это не означает, что его нельзя подменить. Поэтому даём права только хозяину - wgetu.
Копируем в authorized_keys содержимое публичного ключа с Windows.

Проверяем!
Чтобы проверить мы попробуем зайти на сервачёк WinSCP через ключ, не используя пароль. Этой приблуде надо скормить приватный ключ, но в формате PuTTY. Для конвертации ключа используем утилиту puttygen.exe из пакета PuTTY.
Получилось! Но помним, что приватный ключ, который указывается WinSCP является секретным! Это означает, что поиграться с пользователями и правами надо и на винде.
Теперь пробуем выполнить команду на стороне сервера, запуская её на винде:
>ssh wgetu@10.10.10.10 'shutdown -h -now'
shutdown: Permission denied
Кажется, получилось! :)

Дополнительно можно почитать на английском про SSH авторизацию без пароля - SSH Passwordless authentication

UPD: май 2012 - Финальные аккорды по этой теме: web-качалка finality 



X11
На правах заметки на полях приведу урывок отсюдава:
Одной из наимение известных функций SSH является перенаправление протокола X. Это позволяет запускать практически любое X приложение удалённо! Для этого всего лишь нужно добавить параметр -X при соединении с удалённым сервером:
ssh -X user1@remote_server
После этого изображения всех запущенных X приложений будут перенаправлены на ваш локальный X сервер. В файле /etc/ssh/ssh_config можно включить постоянное использование перенаправления X11 (указав ForwardX11 yes). Разумеется, чтобы этот параметр сработал, удалённый SSH сервер должен также поддерживать перенаправление X11. Настроить это можно отредактровав файл /etc/ssh/sshd_config.