[ Пред. ] [ Содержание ] [ След. ]

MC и подключение по ssh

[ @mc @ssh ]

 


В теории подключиться к NAS по ssh можно в Midnight Commander через F9 > Левая/Правая Панель:

с авторизацией в виде „user@host:port


Но есть проблемы.


Проблема с аутентификацией по публичному ssh-ключу


По-умолчанию такое подключение через MC невозможно, если авторизация к nas в принципе настроена через публичный ssh-ключ с указанием его нестандартного расположения на hdd через параметр “-i”. О причине отказа подключения догадаться будет невозможно — MC просто отказывается подключаться без подсказок.


Решение: использовать для подключения отдельный конфигурационный файл в стандартном каталоге расположения ssh-ключей в профиле пользователя.


По-умолчанию этого файла нет, поэтому его надо создать:


mcedit ~/.ssh/config


Записать в этот файл расположение личного ssh-ключа, username на NAS (login) и hostname (адрес NAS). И порт, если нужно. И алиас этого подключения, например, ’myNAS’:


Host myNAS
HostName 192.168.10.20
Port 81
User myUserLogin
IdentityFile /home/ssh_keys/nas/nas_login.private.key


Ограничить доступ к конфигурационному файлу только для своего пользователя:


chmod 600 ~/.ssh/config


В Midnight Commander выполнить стандартное подключение:


> [F9]
> Левая/Правая Панель
> shell (ssh)
> указать имя подключения (’myNAS’)


Отныне то же самое можно делать не через F9, а командой


cd sh://myNAS

Или даже


ssh myNAS

Если надо сразу после логина перейти в какой-то каталог, можно сделать alias для подключения в .bashrc, а можно при подключении полностью указать каталог, куда надо зайти:


myNAS/home/all_user_settings


Выглядит не очень, но удобно, что всё это сохраняется. И ещё можно сделать на стороне NAS короткие ссылки на длинные пути…


Неочевидное решение проблемы


Скорее всего, подключение к ноутбуку по ssh тоже возможно, но авторизация только по личному ключу не настроена, бо кому это надо?


Поэтому можно зайти по ssh в обратную сторону — со стороны NAS на ноутбук. Не факт, что это будет полностью безопасно, поэтому в общественных местах и при подключении к неизвестным сетям лучше так не делать.


  1. в консоли на ноутбуке выполнить стандартное подключение к nas по ssh в консоли
  2. в консоли на стороне NAS запустить ”mc”
  3. в MC (на стороне NAS) пройти в ‘F9
    1. > Левая/Правая Панель‘
    2. > Shell-соединение
    3. > указать IP ноутбука
    4. > логин/пароль

Пройти куда надо и скопировать/переместить нужные файлы.


Возможные сложности: в mc в ходе этого подключения некоторые названия файлов и каталогов будут отображаться в виде множества нулей — это попытка отобразить названия с кирилицей.


Настройки нескольких подключений


В созданном конфигурационном файле можно расписать настройки подключения для нескольких хостов. Пример:


Host dev.myNAS

HostName dev.example.com
User developer
Port 2322


Host test.myNAS

HostName test.example.com
User tester
Port 2322


Если надо подключиться к myNAS не под прописанным юзером ’login’, то надо указать имя отдельным параметром:


ssh -o "User=bobby" myNAS