SSH под FreeDOS
Зачем соединяться с удаленным сервером из-под FreeDOS, если привык работать под Linux? Во-первых, одно другому не мешает, т.к. по SSH подключаешься-то, как правило, всё равно к *NIX-машине. Во-вторых, время загрузки DOS не превышает 5 секунд, что очень соблазнительно. Да и заморачиваться с корректным выключением не придется: можно с чистой совестью обесточивать компьютер по окончании работ. Однако чтобы настроить такое приятное сочетание нужно немножко потанцевать с бубном и напильником.
Технология такая (готовится всё на Linux-машине).
1. Скачиваем дистрибутив FreeDOS, причем желательно полный, с драйверами, играми… шахматами и поэтессами, короче говоря.
2. Вытаскиваем из дистрибутива (/isolinux/data/fdboot.img) или находим в Сети образ загрузочной дискеты для FreeDOS. Копируем его куда-нибудь и для удобства сразу переименовываем в sshgate.gz. Лучше поискать образ дискеты, объем которой соответствует настоящей, т.е. 1,4 Мб, т.к. fdboot.img маловата по объему.
3. Разархивируем:
4. Монтируем
5. Заходим в /mnt/sshgate, удаляем всё лишнее, правим fdconfig.sys и autoexec.bat. Тут уж каждый на свой вкус.
6. Находим DOS-драйвер для сетевой карты своего нетбука (ведь такую систему лучше всего и ставить на портативную машину). DOS-драйвер — это не такая, оказывается, экзотика. Я для своего AsusEEE нашел легко. Копируем содержащийся в архиве на замонтированный образ дискеты.
7. Туда же из дистрибутива FreeDOS (находятся на диске или ISO-образе по адресу /freedos/packages) раззиповываем пакеты wattcp и ssh2dos. В совокупности их файлы составят около полумегабайта. Распаковывать нужно так, чтобы экзешники оказались в каталоге, прописанном в PATH.
8. Настраиваем wattcp.cfg (положить туда же, где и экзешники). Устроен он предельно тупо:
9. Размонтируем и упаковываем образ дискеты, помещаем его в загрузочный раздел компьютера.
Туда же, в /mnt/sda1/boot, копируем файл memdisk с дистрибутива.
10. В конфиг загрузчика isolinux добавляем
11. Перезагружаемся, выбираем в загрузчике позицию SSH gate, пару секунд ждем приглашения командной строки и подбираем параметры запуска драйвера сетевой карты, найденного в п. 6. В моем случае что-то вроде
12. Вводим стандартную ssh-байду:
(Ключ -S убирает серую полоску, которую добавляет на экран досовский ssh).
Всё, мы на удаленном хосте.
Конечно, и на стороне сервера будет маленькая проблемка. Там ведь, как правило, господствует кодировка UTF-8, о которой DOS ничего не знает и знать не может, так что при попытке открыть Midnight Commander увидим крокозябры вместо рамок. Ситуацию спасает команда уже на стороне сервера:
А так всё очень даже работает. Правда, курсор командной строки не мигает.
Технология такая (готовится всё на Linux-машине).
1. Скачиваем дистрибутив FreeDOS, причем желательно полный, с драйверами, играми… шахматами и поэтессами, короче говоря.
2. Вытаскиваем из дистрибутива (/isolinux/data/fdboot.img) или находим в Сети образ загрузочной дискеты для FreeDOS. Копируем его куда-нибудь и для удобства сразу переименовываем в sshgate.gz. Лучше поискать образ дискеты, объем которой соответствует настоящей, т.е. 1,4 Мб, т.к. fdboot.img маловата по объему.
3. Разархивируем:
gunzip sshgate.gz
4. Монтируем
mount -o loop sshgate /mnt/sshgate
5. Заходим в /mnt/sshgate, удаляем всё лишнее, правим fdconfig.sys и autoexec.bat. Тут уж каждый на свой вкус.
6. Находим DOS-драйвер для сетевой карты своего нетбука (ведь такую систему лучше всего и ставить на портативную машину). DOS-драйвер — это не такая, оказывается, экзотика. Я для своего AsusEEE нашел легко. Копируем содержащийся в архиве на замонтированный образ дискеты.
7. Туда же из дистрибутива FreeDOS (находятся на диске или ISO-образе по адресу /freedos/packages) раззиповываем пакеты wattcp и ssh2dos. В совокупности их файлы составят около полумегабайта. Распаковывать нужно так, чтобы экзешники оказались в каталоге, прописанном в PATH.
8. Настраиваем wattcp.cfg (положить туда же, где и экзешники). Устроен он предельно тупо:
MY_IP=192.168.100.3
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
NAMESERVER=XXX.XXX.XXX.XXX
9. Размонтируем и упаковываем образ дискеты, помещаем его в загрузочный раздел компьютера.
umount /mnt/sshgate
gzip sshgate
cp sshgate /mnt/sda1/boot
Туда же, в /mnt/sda1/boot, копируем файл memdisk с дистрибутива.
10. В конфиг загрузчика isolinux добавляем
LABEL ыssh
MENU LABEL SSH gate
KERNEL /boot/memdisk
APPEND initrd=/boot/sshgate.gz
TEXT HELP
SSH access to remote hosts.
ENDTEXT
11. Перезагружаемся, выбираем в загрузчике позицию SSH gate, пару секунд ждем приглашения командной строки и подбираем параметры запуска драйвера сетевой карты, найденного в п. 6. В моем случае что-то вроде
l2pkt.exe 0x60
12. Вводим стандартную ssh-байду:
ssh -S -p 8044 [email protected]
(Ключ -S убирает серую полоску, которую добавляет на экран досовский ssh).
Всё, мы на удаленном хосте.
Конечно, и на стороне сервера будет маленькая проблемка. Там ведь, как правило, господствует кодировка UTF-8, о которой DOS ничего не знает и знать не может, так что при попытке открыть Midnight Commander увидим крокозябры вместо рамок. Ситуацию спасает команда уже на стороне сервера:
export LC_ALL=ru_RU.CP866
А так всё очень даже работает. Правда, курсор командной строки не мигает.
Комментарии (7)
RSS свернуть / развернутьksandras
Sergei_T
ahmetzyanov_d
А если включать большую машину, то вместо дела начинаешь заниматься херней, типа «раз уж всё равно включено».
yababay
Метод сложноват, но интересен.
Несколько терминалов — и учебный класс где не забалуешь.
Или коллективное писание программ на С...
Markony
Markony
ksandras
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.