установка пароля для крона rsync по ssh

Используйте директиву Предела или LimitExcept. Один пример мог бы быть:



Order Allow,Deny
Deny from all
Satisfy all


2
задан 9 November 2010 в 17:01
4 ответа

Что-либо, что Вы делаете, будет небезопасно без использования ssh и sshd.

Канонический путь состоит в том, чтобы использовать scp или еще лучше, rsync и ssh ключ без пароля.

С другой стороны, создайте ключ, используемый только для копии, и на удаленном конце редактируют authorized_keys файл для содержания только команды (команд), которую необходимо выполнить, и ключ, например:

# remote_server:/home/copyuser/.ssh/authorized_keys:
command="[...]" ssh-rsa KEY_HERE user@host

Существует также scponly доступный. Если Вы создаете пользователя, устанавливаете их оболочку в /etc/passwd кому: /usr/bin/scponly и им не позволят войти, но скопировать файлы в и на нормальные полномочия.

7
ответ дан 3 December 2019 в 08:44
  • 1
    Право, я действительно планирую использовать rsync по ssh. Я просто должен выяснить лучший способ обработать пароль/пароль. –  Hollister 9 November 2010 в 16:55
  • 2
    Как упомянуто выше, закрытый ключ без пароля и ограниченных полномочий на удаленном конце. –  Sam Halicke 9 November 2010 в 17:04
  • 3
    +1 ssh или scponly/rssh являются корректным подходом. –  janneb 9 November 2010 в 17:23
  • 4
    +1, позволяющий только команды, в которых Вы нуждаетесь, может увеличить безопасность (лучшая изоляция между клиентом и сервером) –  Aleksandr Levchuk 9 November 2010 в 17:28
  • 5
    Спасибо за весь совет. Я планирую пойти с ключом без пароля и уменьшенной учетной записью полномочия. До команд в ключе эта учетная запись действительно ничего не должна делать, поскольку rsync вытянет файл. Как я не указываю "команд" (или минимум)? –  Hollister 9 November 2010 в 17:45

В то время как я предполагаю, что Вы могли использовать защищенный от пароля закрытый ключ, это обычно не рекомендуется для процессов, которые предназначаются для выполнения через крон. Я рекомендовал бы пропустить пароль и затем удостоверившись, что безотносительно учетной записи пользователя, которую Вы используете только, имеет очень ограниченные полномочия на целевом поле. Путем пропуска пароля Вы не должны будете иметь дело с бездельничанием с ssh-agent.

2
ответ дан 3 December 2019 в 08:44
  • 1
    > "это обычно не рекомендуется для процессов, которые предназначаются для выполнения через крон". Почему это не рекомендуется? –  Hollister 9 November 2010 в 16:56
  • 2
    , поскольку необходимо вставить пароль каждый раз, когда ключ используется. –  Sam Halicke 9 November 2010 в 17:01
  • 3
    @serverninja: если я также не использую ssh-agent, право? –  Hollister 9 November 2010 в 17:07
  • 4
    @Hollister да, Вы могли, но необходимо запустить ssh-агент с помощью-a, чтобы обеспечить определенный адрес сокета (например,/tmp/auth_ssh.sock) и затем установить среду задания крона для включения SSH_AUTH_SOCK, на который указывают там. –  Sam Halicke 9 November 2010 в 17:27

Вот мои рекомендации:

  • Создайте определенный набор общественности/закрытых ключей SSH для этого задания крона. Используйте: ssh-keygen-t rsa-N ''-f id_cronjobname
  • Защитите получающийся id_cronjobname файл, таким образом, что только задание крона может считать его. Если этот файл поставлен под угрозу, любой с тем файлом ключей может потенциально получить те же полномочия.
  • Ограничьте использование этого, включают удаленный конец. Например, в удаленном authorized_keys, можно хотеть снабдить префиксом ключ пример ниже.
  • Рассмотрите также использование "от" ограничить IP-адрес в authorized_keys файле. См. "человека sshd" для получения дополнительной информации об этих ограничениях.

Строка в качестве примера из удаленного authorized_keys файла:

no-pty,no-agent-forwarding,no-X11-forwarding,no-port-forwarding,command="rsync --server --sender -vlogDtprze.i --ignore-errors --numeric-ids --inplace . /path/on/destination/system" ssh-rsa SSH_KEY_STRING user@host"

Точная команда для помещения там Вас может добраться путем выполнения rsync, управляют, чтобы Вы запланировали использовать, и затем одновременно в удаленной системе делают "PS awwlx | grep rsync".

Примечание: Одна типичная проблема, с которой я сталкиваюсь, состоит в том, что использование, выполняющее задание крона, не имеет ключа удаленного хоста SSH, таким образом, это пытается спросить, ли соединение в порядке. Удостоверьтесь, что Вы помещаете, ключ хоста SSH удаленной системы/etc/ssh/ssh_known_hosts (вероятно, просто копируют его из Вашего собственного ~/.ssh/known_hosts файл после соединения). Поочередно, можно сделать "su - $USER_CRONJOB_RUNS_AS" и затем вручную вызвать команду и удостовериться, что это работает. Кроме того, это хорошо для тестирования задания.

1
ответ дан 3 December 2019 в 08:44
  • 1
    , Ничего себе, благодарит за подробный ответ. Это похоже на очень безопасное решение. +1 для 'от' подсказки. Почему использование rsa и не dsa? устройство хранения данных –  Hollister 15 November 2010 в 01:06
  • 2
    Просто мое предпочтение, RSA короче. Используйте DSA, если Вы предпочитаете. –  Sean Reifschneider 15 November 2010 в 15:20

На шаге № 1 (генерируют ключи), когда Вас просят относительно пересказа, необходимо совершить нападки, Входят сразу же - у Вас будет пара ключей пересказа меньше, затем можно пропустить шаг № 3 (настроить ssh-agent).

Мудрая безопасность, в этой установке, если Ваш ssh клиент скомпрометирован затем ssh сервер (где Вы вытягиваете от) будет также становиться открытой для противника (как некорневой, если Вы не войдете в систему как корень). Это не большая проблема, и это - довольно распространенный способ сделать вещи. Но попытайтесь сделать обновления системы защиты в своих системах Ubuntu периодически.

Что-либо более простое затем, чем эта установка будет довольно низкой безопасностью.

Опции, описанные serverninja, получат Вас повышение уровня защиты (лучшая изоляция между клиентом и сервером), но те установки имеют большую конфигурацию наверху и тяжелее отлаживать.

После того как Вы устанавливаете пару ключей пароля меньше (ключ паба копии к ~/.ssh/autorized_keys на сервере), rsync будет без любых дополнительных опций точно так же, как ssh и scp.

0
ответ дан 3 December 2019 в 08:44

Теги

Похожие вопросы