sudo с-u через ssh-t в crontab

Если Вы хотите использовать sftp из сценария, необходимо установить ключи SSH без пароля с ssh-keygen (1) или использовать sshpass

Мой голос почти всегда был бы для первого, но он может зависеть от ситуации, которая является большим количеством appropiate.

0
задан 17 February 2011 в 20:16
2 ответа

Вам не нужна связка ключей.

используйте ssh-keygen, сделайте новую пару ключей. deply открытый ключ на целевом сервере и префиксе это с командой как это

command="/bin/ls" ssh-dss YOURKEEEEEEEYHERE ==comment

в .ssh/authorized_keys на том удаленном хосте

когда это будет установкой, Вы сможете работать точно что команда на удаленном хосте через ssh, использующий пароль.

1
ответ дан 4 December 2019 в 22:33

1) Создайте ssh пару ключей "ssh-keygen-f/some/path/mykey" и не давайте ей пароль

2) Копия это в authorized_keys файл удаленного пользователя "ssh-copy-id-i/some/path/mykey remoteuser@remotehost"

3) Создайте эхо "задания крона '8 * * * * ssh-i/some/path/mykey remoteuser@remotehost/path/to/some/command' | crontab -"

4) Идеально отредактируйте ~remoteuser/.ssh/authorized_keys, таким образом, ключ снабжается префиксом команду = "/path/to/some/command"

Если на самом деле то, что Вы хотите сделать, входят в систему удаленного хоста как один пользователь (например, remoteuser1) и затем используют sudo выполнение команда как другой пользователь (например, remoteuser2). Необходимо будет установить sudo на удаленном хосте, чтобы позволить первому пользователю, который выполнит команду как второго пользователя, не предоставляя пароль, somehthing как этот ins/etc/sudoers -

remoteuser1 ВСЕ = (remoteuser2) NOPASSWD:/path/to/some/command

Затем имейте задание крона на локальном хосте "ssh-i/some/path/mykey remoteuser@remotehost sudo/path/to/some/command"

0
ответ дан 4 December 2019 в 22:33

Теги

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