[ Пред. ] [ main ] [ След. ]

Подключиться к NAS по ssh

 

В OMV ssh включён по-умолчанию, на ноуте юзера сервис ssh скорее всего есть, но может быть неактивным. Есть смысл перепроверить по Проверить статус сервиса SSH. Здесь и далее подразумеваем, что


  1. сервис ssh работает безупречно,
  2. на ноуте личный ssh-ключ уже сгенерирован и импортирован в систему (см. Сделать личный ssh-ключ)
  3. NAS отзывается по IP 192.168.1.20
  4. на стороне NAS находится действующий юзер «login»
  5. мы залогинены в OMV через веб-интерфейс

Импортировать в OMV публичный ssh-ключ


Это стандартный способ закинуть свой ssh-ключ на удалённый сервер:


ssh-copy-id login@192.168.50.20


но в случае с OMV лучше добавлять личные ssh-ключи каждому пользователю по-отдельности. Поэтому:


  1. На ноуте вывести в консоль содержимое файла с публичным ключом (настройки по-умолчанию):

cat ∼/.ssh/id_rsa.pub


  1. Скопировать в буфер обмена содержимое файла *.pub, от первой строки до последней, в которой указан емайл юзера.
  2. В веб-интерфейсе OMV перейти в

User Management
> Users
> выбрать нужного юзера
> Edit
> Public keys > [+ Add]


  1. Вставить содержимое буфера обмена (там наш публичный ключ) в предлагаемое поле. OMV просигнализирует, если текст будет неподходящим.
  2. [Save / Apply / Yes]

Подключение к NAS по ssh


ssh login@192.168.50.20


Можно обратиться к ресурсу и по имени, если оно уже прописано в /etc/hosts, например:


ssh login@tower.local


Подключение с указанием ключа


Разумно, если ключей овердофига, и совершенно не нужно, если ключ один.


Подключение с указанием определенного ключа


Надо через '-i' указать его файл. Примеры:


ssh login@192.168.50.20 -i ~/.ssh/nas/nas_login


ssh login@192.168.50.20 -i /home/ssh_keys/nas/nas_login


В любом случе ждём дежурное сообщение о подключении к неизвестному источнику:


The authenticity of host '192.168.50.20 (192.168.50.20)' can't be established.
ECDSA key fingerprint is SHA256:kMUXGtfu5aCMPjQkdz6H/5oi3XOn6uJwA84bqy1+ViM.
Are you sure you want to continue connecting (yes/no/[fingerprint])?


Ответить «yes». Это стандартная и условная, но всё-таки защита от вероятных ошибок при указании адреса подключения.


В консоли будет указан логи и ресурс, к которому произошло подключение:


login@tower:~$


В файле ‘~/.ssh/known_hosts‘ появится запись о новом подключении. Если удалить этот файл или весь каталог '.ssh', то процесс «знакомства» повторится при последующем подключении.


В будущем вероятна ситуация, когда надо будет зайти по ssh на NAS с другого ноутбука под тем же юзером 'login' (для которого в OMV был прописан публичный ключ). Это подключение будет запрещено, если на новом ноуте не будет предварительно импортирован старый ssh-ключ. Решений несколько:


Убрать дежурное сообщение при логине


После каждого подключения в консоль выводится что-то вроде


Linux tower 6.1.0-27-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Nov 25 06:19:27 2024 from 192.168.50.11

Это можно убрать.


1)


sudo mcedit /etc/pam.d/sshd


Найти строки


# Print the message of the day upon successful login.
# This includes a dynamically generated part from /run/motd.dynamic
# and a static (admin-editable) part from /etc/motd.
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so noupdate


Закомментировать последние две.


2)


То же самое найти и закомментировать в файле


sudo mcedit /etc/pam.d/login


Также в файле login закомментировать строку


# Prints the last login info upon successful login
# (Replaces the `LASTLOG_ENAB' option from login.defs)
session optional pam_lastlog.so


3)


В файле


sudo mcedit /etc/ssh/sshd_config


найти строку


PrintLastLog yes


и поменять её на


PrintLastLog no


4)


Перезапустить SSH демон


sudo systemctl restart sshd


Алиас в .bashrc


Теперь можно всё это упростить, прописав короткий алиас для команды подключения — см. Приложения:Сделать алиас в .bashrc


В дальнейшем вся аутентификация на данном ресурсе будет происходить по данному ключу. Подразумевается, что это повысит уровень безопасности подключений. Пока этот ключ не украдут со всем папкой ’∼/.ssh’, конечно.


Next step: Передача файлов по ssh