Как создать ключ ssh, чтобы он мог использовать sshfs только на NAS Synology?

У меня есть ключ ssh без парафразы, который позволяет пользователю входить на удаленный сервер.

этот ключ используется для монтирования папки на удаленном сервере с помощью sshfs и резервного копирования файлов в моем ноутбуке.

Я хотел бы, чтобы этот ключ имел достаточные привилегии только для резервного копирования. Итак, поскольку sshfs использует sftp, я подумал:

command= "путь к sftp на сервере"

в файле authorized_keys сервера работа.

теперь, когда я вхожу через ssh, я получаю это:

использование: по SFTP [-1246Cpqrv] [-Б buffer_size] [-б пакетник] [-с шифром]

   [-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit]
   [-o ssh_option] [-P port] [-R num_requests] [-S program]
   [-s subsystem | sftp_server] host

   sftp [user@]host[:file ...]
   sftp [user@]host[:dir[/]]
   sftp -b batchfile [user@]host

соединение с" именем моего сервера " закрыто.

Я понимаю, что этот ключ может использовать только sftp, что я и хотел.

однако, когда я использую sshfs, я получаю следующее:

удаленный хост отключен

сервер Synology NAS DS212j с DSM 4.2 и нет sftp-серверной программы. Ниже показано, как выглядит раздел подсистемы в файле sshd_config:

# переопределить значение по умолчанию no subsystems


#Подсистему SFTP /УСР/IP-адресов по протоколу SFTP-сервера


#Подсистема внутренней и SFTP -протоколу SFTP демон ф-л подробно-у 000

подсистемы внутренних и SFTP -Ф по SFTP демон -у 000


# Подсистема sftp в /usr/сыно на/sbin/SFTP клиент-сервер -л DEBUG3

sshfs с помощью ключа без каких-либо ограничений на команды, работает отлично.

посоветуйте, пожалуйста. Есть ли еще команды, которые я должен включить в переменную "command" в файле authorized_keys?

заранее спасибо за любую оказанную помощь.

5
задан mauna
28.02.2023 19:21 Количество просмотров материала 3068
Распечатать страницу

1 ответ

Я не знаю для sshfs, какую команду вы должны авторизовать, но если вы хотите добавить много команд, авторизованных для определенного ключа, вы можете использовать скрипт bash для выполнения авторизации:

команда="/home/user/validate-rsync.sh" СШ-ДСС AAAAB3NzaC1yc

/home/user/validate-rsync.sh:

#!/bin/sh
case "$SSH_ORIGINAL_COMMAND" in
*\&*)
echo "Rejected"
;;
*\;*)
echo "Rejected"
;;
rsync\ --server*)
$SSH_ORIGINAL_COMMAND
;;
*)
echo "Rejected"
;;
esac

убедитесь, что скрипт validate-rsync.sh является исполняемым. Я надеюсь, что это может помочь вам.

0
отвечен Xerus 2023-03-02 03:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх