Доброго времени суток, Хабр.
Не нашел здесь топиков на данную тему, поэтому я решил написать пошаговое руководство.
Итак, для начала разберемся с тем что использовалось.
Первое — это роутер на dd-wrt.
И второе — смартфон на андроиде с ssh и samba клиентами. Я использовал ConnectBot и AndSMB.
В разделе «Services — Services» включаем поддержку ssh. Выключаем «Password login» (позже мы добавим публичный ключ в «Authorized keys»). Выставляем порт по желанию. Нажимаем «Apply settings».
Идем в раздел «Services — USB» и там включаем «Core USB Support», «USB Storage Support», «Automatic Drive Mount», и выставляем «Disk mount point» — /mnt. Нажимаем «Apply settings».
Идем в раздел «Services — NAS». Включаем поддержку samba. Добавляем шару. Нажимаем «Apply settings». Добавляем пользователя, прописываем произвольный логин, пароль и разрешаем использовать шару. Нажимаем «Apply settings».
Идем в «Меню — Управление открытыми ключами». Нажимаем «Меню — Генерировать». Пишем псевдоним, выбираем тип ключа, размер в битах, по желанию пароль и отмечаем «Загружать ключ при старте».
Отдаем шум. Ждем генерации. Долгим тапом нажимаем на название и выбираем «Копировать публичный ключ». Этот публичный ключ нужно вставить на роутере, в раздел «Autorized keys».
Возвращаемся в главное меню. Внизу выбираем тип подключения «ssh», и пишем root@example.com, где root — имя пользователя, а example.com — имя хоста к которому коннектимся. Нажимаем соединиться.
Программа попытается соединиться, но у нее не получится, соединение прервется, но оно сохранится. Теперь долгим тапом его выбираем и нажимаем «Редактировать хост». Выбираем «Использовать аутентификацию по открытому ключу» и выбираем там сгенерированный ключ.
И внизу подправляем имя пользователя, хост и порт если необходимо.
Возвращаемся в главное меню и долгим тапом нажимаем на этом соединении, выбираем «Редактировать перенаправление портов». Нажимаем «Меню — Добавить», записываем псевдоним, например, «Samba», «Тип переадресации» — локальный. «С порта» — здесь записываем произвольный порт, больший 1024 и запоминаем его. «На порт» — example.com:445
Выбираем «Добавить». Адрес сервера — localhost, имя и пароль — те которые были сохранены на роутере в разделе «Services — NAS».
Идем на вкладку дополнительно и пишем порт, который мы выбрали ранее в программе ConnectBot.
Далее возвращаемся на «Основные» и нажимаем сохранить. Пишем название, например, «samba over ssh».
Теперь у нас есть проброс на самбу через ssh. Как работает: Запускаем в ConnectBot'е соединение. Он должен подключиться. Проверить пробросился ли порт, можно зайдя в меню — перенаправление портов, порт там не должен быть зачеркнут. Затем сворачиваем соединение, нажав назад. Затем заходим в AndSMB и подключаемся к «samba over ssh». Открывается папка, которую мы расшарили на роутере. Такую же настройку можно сделать если шара будет не на роутере, а на сервере под линуксом: Ставим SSH сервер, добавляем в разрешенные ключи наш публичный ключ, расшариваем папку, создаем настройки пользователя для шары, повторяем действия для телефона и готово.
Не нашел здесь топиков на данную тему, поэтому я решил написать пошаговое руководство.
Итак, для начала разберемся с тем что использовалось.
Первое — это роутер на dd-wrt.
И второе — смартфон на андроиде с ssh и samba клиентами. Я использовал ConnectBot и AndSMB.
Настраиваем роутер
Настройка ssh сервера
В разделе «Services — Services» включаем поддержку ssh. Выключаем «Password login» (позже мы добавим публичный ключ в «Authorized keys»). Выставляем порт по желанию. Нажимаем «Apply settings».
Настройка samba
Идем в раздел «Services — USB» и там включаем «Core USB Support», «USB Storage Support», «Automatic Drive Mount», и выставляем «Disk mount point» — /mnt. Нажимаем «Apply settings».
Идем в раздел «Services — NAS». Включаем поддержку samba. Добавляем шару. Нажимаем «Apply settings». Добавляем пользователя, прописываем произвольный логин, пароль и разрешаем использовать шару. Нажимаем «Apply settings».
Настройка телефона
Настройка ConnectBot
Идем в «Меню — Управление открытыми ключами». Нажимаем «Меню — Генерировать». Пишем псевдоним, выбираем тип ключа, размер в битах, по желанию пароль и отмечаем «Загружать ключ при старте».
Отдаем шум. Ждем генерации. Долгим тапом нажимаем на название и выбираем «Копировать публичный ключ». Этот публичный ключ нужно вставить на роутере, в раздел «Autorized keys».
Возвращаемся в главное меню. Внизу выбираем тип подключения «ssh», и пишем root@example.com, где root — имя пользователя, а example.com — имя хоста к которому коннектимся. Нажимаем соединиться.
Программа попытается соединиться, но у нее не получится, соединение прервется, но оно сохранится. Теперь долгим тапом его выбираем и нажимаем «Редактировать хост». Выбираем «Использовать аутентификацию по открытому ключу» и выбираем там сгенерированный ключ.
И внизу подправляем имя пользователя, хост и порт если необходимо.
Возвращаемся в главное меню и долгим тапом нажимаем на этом соединении, выбираем «Редактировать перенаправление портов». Нажимаем «Меню — Добавить», записываем псевдоним, например, «Samba», «Тип переадресации» — локальный. «С порта» — здесь записываем произвольный порт, больший 1024 и запоминаем его. «На порт» — example.com:445
Переходим к настройке AndSMB
Выбираем «Добавить». Адрес сервера — localhost, имя и пароль — те которые были сохранены на роутере в разделе «Services — NAS».
Идем на вкладку дополнительно и пишем порт, который мы выбрали ранее в программе ConnectBot.
Далее возвращаемся на «Основные» и нажимаем сохранить. Пишем название, например, «samba over ssh».
Заключение
Теперь у нас есть проброс на самбу через ssh. Как работает: Запускаем в ConnectBot'е соединение. Он должен подключиться. Проверить пробросился ли порт, можно зайдя в меню — перенаправление портов, порт там не должен быть зачеркнут. Затем сворачиваем соединение, нажав назад. Затем заходим в AndSMB и подключаемся к «samba over ssh». Открывается папка, которую мы расшарили на роутере. Такую же настройку можно сделать если шара будет не на роутере, а на сервере под линуксом: Ставим SSH сервер, добавляем в разрешенные ключи наш публичный ключ, расшариваем папку, создаем настройки пользователя для шары, повторяем действия для телефона и готово.