The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Безопасный способ копировать бэкапы через ssh
Опция "command" файла authorized_keys позволяет указать команду, которая будет
выполняться при каждом подключении пользователя по ssh.

Это удобно, когда стоит задача копировать файлы на бэкап-сервер.
Например, если необходимо предоставить доступ только к файлу backup.tgz, 
то допишите строку "command='cat backup.tgz'" в самое начало строки с нужным
ключом файла authorized_keys.
Указанная команда будет выполняться автоматически при каждом подключении, 
вам остается только перенаправить вывод в файл. Если дампов несколько, 
то можно написать небольшой скрипт, вида:

   #!/bin/sh
   read file
   case "$file" in
      "foo") cat foo.tgz ;;
      "bar") cat bar.tgz ;;
   esac

Кроме command, в таких случаях не лишним было бы добавить также опции
no-port-forwarding, no-pty и все прочие no-*

Кроме как для бэкапов, такое же решение может подойти и для мониторинга. 
Когда nagios соединяется к удаленному серверу, чтобы собрать какую-либо
статистику, полный ssh-доступ ему не нужен.

В OpenSSH 4.9 появилась возможность помещать отдельных пользователей в изолированное окружение. 
Помещение в chroot управляется через директиву ChrootDirectory, задаваемую в
конфигурационном файле sshd_config.
Также в sshd был встроен sftp-server и теперь не требует запуска отдельного процесса, 
что идеально подходит для использования совместно с директивами ChrootDirectory
и ForceCommand internal-sftp.

Например, для ограничения работы пользователя backup только по sftp в пределах директории /chroot:

   Match user backup
       ForceCommand internal-sftp
       ChrootDirectory /chroot
  ...
  #Subsystem      sftp    /usr/libexec/sftp-server
  Subsystem       sftp    internal-sftp

Пример копирования:

  echo "PUT backup.tgz" | sftp backup@backupserver.ru:/backup/

В настоящий момент в sshd не произведена интеграция scp, т.е. при использовании scp, 
по-прежнему требуется копирование библиотек в chroot окружение.
 
15.07.2008 , Автор: mahoro , Источник: http://alexey.sveshnikov.ru/blog/20...
Ключи: ssh, limit
Раздел:    Корень / Безопасность / SSH

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, ymkin (ok), 12:20, 16/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    для копирования файлов удобно scp
     
  • 1.2, jj (?), 14:56, 16/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну и маразм!
    автору: man scp
     
     
  • 2.3, Аноним (-), 15:29, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >автору: man scp

    Комментатору 100 раз написать на доске "безопасность".

     
     
  • 3.9, prapor (??), 22:34, 17/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>автору: man scp
    >
    >Комментатору 100 раз написать на доске "безопасность".

    Анонимусу проследовать за автором в сторону чтения man scp.
    Хотя, по делу - а что мешает завернуть rsync в ssh?

     
     
  • 4.10, Щекн Итрч (?), 16:00, 20/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    А что мешает НЕ разворачивать уже завернутый в ssh rsync??? :) :) :)
     
     
  • 5.11, prapor (??), 00:34, 23/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    rsync не всегда он бывает завернут в ssh. Более того, чаще всего его применяют "в чистом виде" (без "-e ssh")
     
     
  • 6.13, Щекн Итрч (?), 21:04, 23/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    rsync не всегда он бывает завернут в ssh. Более того, чаще всего его применяют "в чистом виде" (без "-e ssh")

    слышу о таком в первый раз, но поверю вам на слово :)

     
     
  • 7.14, prapor (??), 22:51, 23/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Цитата из man 1 rsync:
    _can use_ any transparent remote shell, including ssh or rsh

    Всё-таки не can use, а не use ;)

     

  • 1.6, squirL (ok), 15:57, 16/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как то многа букаф... а нельзя ли просто написать:

    cat DUMP | ssh dd of=/PATH/DUMP

    я уже молчу про написанное предыдущими ораторами

     
     
  • 2.7, mahoro (??), 00:07, 17/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не можешь дать возможность dd работать только с одним определенным файлом. Доступ по ssh = доступ на чтение почти всей системы, на запись во множество мест плюс еще полный букет неожиданностей.

    А здесь ты говоришь, что с той машины можно только читать и только вот этот один конкретный файл. Или записывать, но только сюда, только под таким именем и вот еще давай цифровую подпись проверим, если что - удалим нафик.

    Есть разница?

     
     
  • 3.12, Дмитрий Ю. Карпов (?), 11:25, 23/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Доступ по ssh = доступ на чтение почти всей системы, на запись во множество мест плюс еще полный букет неожиданностей.

    Право бэкапитьдают далеко не всякому, а только доверенным людям.
    Плюс к тому, существуют chroot и jail.

     

  • 1.8, squirL (ok), 13:28, 17/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    страшно. а делать ssh под юзером backup - и chmod+chown - дать ему читать только определенный файл? :)
    зачем городить сложности-то? :)
     
     
  • 2.15, demimurych (?), 18:26, 24/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    думаю чтобы не давать шелл
     
     
  • 3.17, squirL (ok), 13:57, 26/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    shell не нужен.
     

  • 1.16, blzz (?), 02:38, 26/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хорошая вещь scp, тока к ресурсам треобовательная.
    я добаловался с ним - теперь в тихую бекапную ночь load average: 28.51, 27.30, 27.29
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру