
Порт TinySHell на SCTP
* Перед компиляцией Tiny SHell
1. Прежде всего, настройте свой секретный ключ, который
находится в tsh.h; ключ может быть любой длины (для
лучшей безопасности используйте не менее 12 символов).
2. Рекомендуется изменить SERVER_PORT — порт, на котором
сервер будет ожидать входящие подключения.
3. Возможно, вы захотите запустить tshd в режиме
"connect-back", если он работает на машине за файрволом;
для этого просто раскомментируйте и измените
CONNECT_BACK_HOST в tsh.h.
* Компиляция Tiny SHell
Выполните "make <system>", где <system> может быть любой из:
linux, freebsd, openbsd, netbsd, cygwin, sunos, irix, hpux, osf
* Как использовать сервер
Полезно задать $HOME и маску создания файлов
перед запуском сервера:
% umask 077; HOME=/var/tmp ./tshd
* Как использовать клиент
Убедитесь, что tshd запущен на удалённом хосте. Вы можете:
- запустить оболочку:
./tsh <hostname>
- выполнить команду:
./tsh <hostname> "uname -a"
- передавать файлы:
./tsh <hostname> get /etc/shadow .
./tsh <hostname> put vmlinuz /boot
Примечание: если сервер работает в режиме connect-back,
замените имя удалённой машины на "cb".
* О множественной передаче файлов
На данный момент Tiny SHell не поддерживает множественную
и/или рекурсивную передачу файлов в стиле scp. Эту проблему
можно обойти, просто создав tar-архив и передав его. Пример:
./tsh host "stty raw; tar -cf - /etc 2>/dev/null" | tar -xvf -
* О режимах терминала
В некоторых бестолковых системах (а именно IRIX и HP-UX)
Ctrl-C и другие управляющие клавиши работают неправильно.
Исправьте это командой:
% stty intr "^C" erase "^H" eof "^D" susp "^Z" kill "^U"
* О безопасности
Помните, что секретный ключ хранится в открытом виде внутри
исполняемых файлов tsh и tshd; поэтому убедитесь, что никто,
кроме вас, не имеет доступа на чтение к этим двум файлам.
Впрочем, вы можете не хранить настоящий (действительный) ключ
в клиенте — тогда при запуске он запросит пароль.
* Замечания относительно SCTP-версии:
Пока протестирована только на Archlinux, ожидайте, что на всём
остальном она с треском провалится.
Представляет собой довольно уродливый хак, содержит некоторые
ошибки компиляции, которые я планирую в конце концов найти и исправить.
Безопасность файла-бэкдора (tsh), т.е. пароль в открытом виде,
вскоре должна быть исправлена путём хранения только хэшированного пароля.
Тестирование на hpux, *bsd и т.п., как только у меня будет доступ к таким машинам.