Configure SSH Server on Tiny Core Linux using openSSH
Pradeep Singh | 18th Aug 2017
Tiny Core (Core) Linux doesn’t come with any default SSH Server, which means you can’t do ssh login if you wish to configure this incredibly sim operating system remotely. If you wish to run Tiny Core on a headless machine and want to configure it remotely over ssh login session, follow this article to configure SSH Server on Tiny Core –
PART – A: Install and Configure SSH
1. Install OpenSSH Package:
Install OpenSSH package using the following command –
2. Create SSH Config from Template:
Copy the example configuration file into the ssh_config file using the following commands –
3. Start the SSH Service:
Start the SSH service using the following command –
4. Change the “tc” User Password:
Change the Password for default “tc” user, so that you can enter this password on ssh user/password prompt. Use the following command to change the password –
Note: If you want to change the Root Password, you can switch to root using “sudo su” and then use the “passwd” command to change the root password.
5. Check the IP Address:
To ssh into your Tiny Core Machine you need the IP Address assigned to it. You can get hold of IP Address using the following command
I am assuming you are using DHCP server. In case you aren’t, follow this article to assign static IP to your Tiny Core machine – Assign Persistent Static IP Address to Tiny Core Linux
6. Verify SSH Service:
You can grep the “sshd” (ps | grep ssh) process or you can check if your machine is listening on port 22 using the following command –
7. SHH from a Client Machine:
From Linux client machine you can use “ssh tc@IP_Address” command to login to your Tiny Core instance. On windows machines, you can use something like putty client for SSH login.
PART – B: Make the SSH Config Persistent:
As Tiny Core Linux runs into the system memory (RAM), it looses all the configuration changes if the system reboots. To make the configuration persistent you may follow these steps –
1. Edit the ‘.filetool.lst‘ File:
The text file “/opt/.filetool.lst” lists files and directories to be backed up at power down (manually using ‘filetool.sh -b’ command) and restored (automatically) after reboot. Add Ssh and Password shadow files paths to this file using following 2 commands –
Following is the console output for the same, along with the “cat” command output to display the final contents of the “.filetool.lst” file –
2. Backup Config Files Defined in ‘.filetool.lst‘ File:
Tiny Core includes the ‘filetool‘ utility for saving personal settings and data using the paths defined in ‘/opt/.filetool.lst’. You can trigger the backup using the following command –
Following is the console output for this command –
3. Edit the Startup File:
To load a library or execute a command every time the computer boots up, you need to add it into the ‘/opt/bootlocal.sh‘ file. Execute the following command to start the Ssh service automatically after system reboot –
backup the configuration using the following command –
Following is the console output for the same, along with the “cat” command output to display the final contents of the “ bootlocal.sh ” file –
With this, you are ready to reboot the system to test if the SSH still works. If you want you may reboot the system using “sudo reboot” command.
PART – C: Configure SSH to Login without Passwords:
1. Create SSH Keys on the Client Machine:
On the Linux client machine shell, use “ ssh-keygen -t rsa ” command to generate the SSH RSA Certificate File.
Make a note of Public Key name and the path from this console output (For example, my Key’s name and the location is mentioned in this line – “ Your public key has been saved in /Users/pradeesi/.ssh/id_rsa.pub.”). You will need it in next step.
2. Upload the Public Key from Client Machine to SSH Server:
From the Linux client machine, you can use sftp command to upload the ssh keys onto the Tiny Core machine (On Windows machine, you can use some tool like FileZilla) –
Use “tc” user’s password for authentication.
3. Move and Rename the Client Public Key on SSH Server:
On MicroCore / Tiny Core machine, move the uploaded ssh keys from the home directory to “.ssh” directory (you may need to create .ssh directory using “mkdir .ssh” command) and rename the key file as “authorized_keys” –
4. Make the Certificate File Persistent:
Without making the configuration persistent, you will lose all the configuration changes made during the runtime, if the TinyCore machine reboots. Use following commands to make the config persistent –
Following is the console output of “.filetool.lst” file –
5. Test Password-less SSH Login:
With this, you should be able to login to your Tiny Core instance without password –
A Firewall Engineer
Everything about Cisco ASA, PIX, Check Point, Firewall, GNS3, Linux, Unix, Microsoft Windows, Networking, Network Security
How to install and configure OpenSSH (SSH Server) in Tiny Core Linux
1. Make sure Tiny Core Linux is connected to the internet. Simple ping test to google.com is enough. If there is reply from google.com, it means that internet is working fine. However, if there is no reply, then you need to check the connection.
2. Open terminal and type “ab openssh”. Ab is stand for AppBrowser.
3. Once the Ab (AppBrowser) found the OpenSSH package which is openssh.tcz, enter “1” to select it.
4. The following menu explaining about openssh.tcz will be presented. Enter “q” to quit from the info page.
5. Enter “i” to install the openssh package.
6. Wait for a few minutes as OpenSSH package and the necessary dependencies will be downloaded to your Tiny Core Linux box.
Another quick way to install openssh is by using tce-load command as follows:
7. Change your directory to “/usr/local/etc/ssh” by typing:
8. You’ll find there are three files in it by typing
9. Copy sshd_config.example to sshd_config by executing command
sudo cp sshd_config.example sshd_config
10. The next step is to start the OpenSSH service by typing
sudo /usr/local/etc/init.d/openssh start
11. Once the OpenSSH service started, you’ll find the TCP port 22 is listening. You can verify this by executing command
12. Test your OpenSSH configuration by from ssh client. I’ll be using PuTTY for this purpose.
13. If your SSH configuration is working, you’ll be presented by login prompt
14. To login, change the tc user’s password by using “passwd” command.
15. Go back to the putty client, and login with the new password of tc user.
16. Congratulation! You’ve just successfully configured a OpenSSH server for your Tiny Core Linux
Установка Tiny Core Linux
Tiny Core Linux — это очень необычный дистрибутив, он самый маленький из всех существующих дистрибутивов. Его образ с минимальным набором программного обеспечения занимает всего 12 мегабайт. И при всем этом системой вполне можно пользоваться, хотя и выглядит она соответствующим образом.
Этот очень легкий дистрибутив основан на Damn Small, который, в свою очередь, произошел от Debian. Но от этой системы здесь мало что осталось. Tiny Core использует свежую версию ядра, BusyBox, и оконные менеджеры Flwm. Также здесь есть собственная система управления пакетами и репозитории где можно найти достаточно много программ. И самое интересное, что система работает из оперативной памяти. Последняя версия Tiny Core 7.2 вышла в июле 2016.
В этой статье мы рассмотрим как выполняется установка Tiny Core Linux на жесткий диск компьютера или ноутбука.
Системные требования
Для таких маленьких дистрибутивов системные требования очень важны, чтобы вы могли определить подойдет ли эта система для вашей машины. И, скорее всего, подойдет.
Для запуска системы с графическим интерфейсом будет достаточно 46 мегабайт оперативной памяти, а для облеченной версии и того меньше — 28 Мб. Минимальный процессор — i486.
Рекомендуется использовать процессор Pentium II или лучше, а также 128 мегабайт ОЗУ с файлом подкачки.
Подготовка к установке
Как обычно, сначала нужно подготовить все что понадобится для установки. И в первую очередь скачать и записать образ на носитель для установки.
Шаг 1. Загрузка образа
На официальном сайте доступно три редакции дистрибутива:
- Core — базовая система, поддерживающая только интерфейс командной строки, это система для профессионалов, в будущем сюда можно добавить расширения для получения системы с графическим интерфейсом;
- TinyCore — дистрибутив с графическим окружением на основе FLTK / FLWM, размер — 16 мегабайт;
- CorePlus — полноценный установочный образ размером 100 мегабайт. Здесь содержатся проприетарные модули для беспроводных сетей, раскладки, инструменты для установки на диск, семь оконных менеджеров.
Для установки вам понадобится именно CorePlus, поскольку здесь есть все необходимые инструменты.
Шаг 2. Запись образа на носитель
Для записи Tiny Core на диск можно использовать уже привычные нам k3b или brasero в Linux, а также UltraISO в Windows. Что касается записи на флешку, то со своей задачей отлично справится unetbootin в linux:
А в Windows можно применить rufus:
Шаг 3. Настройка BIOS
Дальше нам нужно настроить BIOS для загрузки с флешки. Для этого перезагрузите компьютер и во время заставки BIOS нажмите F2, F8, Shift+F2 или Del, чтобы войти в меню. Затем перейдите на вкладку Boot и в разделе Boot Device Priority переместите свое устройство на первое место:
Затем перейдите на вкладку Exit и выберите Exit & Save Changes.
Установка Tiny Core Linux
Шаг 4. Загрузчик образа
В загрузчике вы можете выбрать либо первый пункт с окружением по умолчанию, либо другие шесть окружений рабочего стола и дополнительные драйверы для wifi:
Шаг 5. Загрузка системы
Tiny Core загружается очень быстро. Дождитесь пока система запустится и появится рабочий стол:
Шаг 6. Запуск установщика
Для запуска установщика щелкните по значку с серым кругом, разбитым косой линией на две части:
Шаг 7. Выбор диска
На первом шаге установщика вам предстоит выбрать диск для установки. Чтобы установить Tiny Core Linux на жесткий диск или флешку выберите пункт USB-HDD. Если вы хотите установить систему на несколько разделов, то их нужно было подготовить раньше.
Сейчас вы можете выбрать Whole Disk для установки системы на весь диск или Existing Partition для выбора существующего раздела:
Шаг 8. Файловая система
Выберите файловую систему, в которую будет отформатирован корневой раздел:
Шаг 9. Параметры системы
Очень много параметров Tiny Core настраиваются через параметры загрузки ядра в Grub. Именно в этом окне мы можем их задать. Параметры записываются в строку, разделенные пробелом, значение каждого параметра через знак равенства. Рассмотрим основные параметры, которые вам могут пригодится:
- tce=sda1 — устанавливает корень системы, здесь указывать не нужно, он будет подставлен установщиком автоматически;
- waitusb=5 — ждать пять секунд перед тем, как монтировать файловую систему при загрузке с USB;
- tz=GMT+2 — задать часовой пояс, в нашем случае GMT+2, но вы можете выбрать любой нужный вариант;
- opt=sda2 — задать раздел диска, который нужно подключить в качестве /opt;
- home=sda3 — задать раздел диска, который нужно подключить в качестве home;
- host=TinyPC — установить имя этого компьютера;
- lang=ru_RU.UTF-8 — использовать русскую локаль в системе;
- noutc — использовать формат хранения времени localtime для совместимости с Windows.
Я рекомендую сейчас настроить только часовой пояс, язык и имя компьютера. Все остальное вы сможете изменить позже.
Шаг 10. Дополнительное программное обеспечение
Выберите нужно ли устанавливать дополнительное ПО, например, поддержку X сервера, Wifi, ndiswarapper, инструмент установки и пересборки системы, а также дополнительные раскладки клавиатуры:
Шаг 11. Подтверждение установки
Посмотрите какие компоненты будут установлены и нажмите Proceed, если все было правильно.
Шаг 12. Завершение установки
Дождитесь завершения установки:
Шаг 13. Перезагрузка
Перезагрузите компьютер. Для этого найдите на панели значок Exit, нажмите на него, затем в открывшемся окне выберите Reboot:
Шаг 14. Загрузка Tiny Core
В системе используется загрузчик extlinux, по умолчанию в меню только один пункт, поэтому оно показываться не будет. Просто пойдет загрузка системы:
Шаг 15. Локализация
Установка Tiny Core Linux завершена, но мы рассмотрим еще как добавить в систему поддержку русского языка. Кое-что мы уже сделали, но осталось еще установить несколько пакетов. Откройте терминал и выполните такие команды для установки getlocale и kmaps. Эти пакеты вы можете установить и через приложение apps:
ab getlocale.tcz
$ ab kmaps.tcz
Затем запустите скрипт getlocale.sh и выберите в нем ru_RU.UTF-8:
Осталось нажать несколько раз Enter.
Шаг 16. Настройка шрифта
Далее, для отображения кириллицы символов осталось добавить правильный шрифт. Загрузим шрифт UniCyr_8x16:
cd /opt
$ wget http://ftp.nluug.nl/os/Linux/distr/Mandrivalinux/devel/cooker/ia64/Mandrake/mdkinst/usr/lib/kbd/consolefonts/UniCyr_8x16.psf.gz
$ gzip -d UniCyr_8x16.psf.gz
А эти строки будут загружать шрифт при каждом старте системы:
echo «loadfont > /opt/bootlocal.sh
$ echo «export G_FILENAME_ENCODING=@locale» >> /opt/bootlocal.sh
$ echo «export LC_ALL=@locale» >> /opt/bootlocal.sh
$ echo «opt/UniCyr_8x16.psf» >> /opt/.filetool.lst
Шаг 17. Готово
Вот и все. Установка Tiny Core Linux полностью завершена и теперь вы можете переходить к настройке своей системы:
Выводы
Как видите, установка этого дистрибутива не так сложна, но немного сложнее, чем установка той самой Ubuntu. Но зато он отлично подойдет для старых компьютеров с очень слабым оборудованием. Если у вас остались вопросы, спрашивайте в комментариях!
Видео с процессом установки дистрибутива и небольшой обзор панели управления: