ssh не учитывает ключ, переданный в командной строке

Один из возможных вариантов - установить WakeSystem = true в файле .timer , который разбудит компьютер из режима ожидания, чтобы запустить задание.

Затем в запущенном файле .service вы можете добавить:

 ExecStopPost=sudo /bin/systemctl suspend

Чтобы повторно приостановить компьютер после выполнения задания.

Вам также необходимо обновить / etc / sudoers , чтобы позволить вашему пользователю запускать указанную выше команду без запроса пароля.


Второй вариант - использовать один из монотонных таймеров, описанных в man systemd.timer , например OnActiveSec = . Эти таймеры прекращают отсчет времени, когда компьютер приостановлен. Это позволяет вам выражать такие вещи, как «Пожалуйста, делайте резервную копию моего компьютера каждые 8 ​​часов, когда он включен». Если ваш компьютер обычно работает около 8 часов в день, это примерно соответствует одному разу в день. Как вы описываете, на вашем компьютере в любом случае часто создается резервная копия около полуночи - резервная копия создается, когда вы впервые отключаете его утром.


В-третьих, подтвердили ли вы, что Persistent = не работает с приостановить , когда компьютер выключен?

2
15.02.2017, 01:08
1 ответ

OpenSSH предлагает идентификаторы по умолчанию и идентификаторы, загруженные в ssh-agent по умолчанию (обычно это то, что вам нужно). Если вы хотите предотвратить такое поведение, есть опция IdentitiesOnly:

IdentitiesOnly

Указывает, что ssh(1) должен использовать только аутентификационные идентификаторы и файлы сертификатов явно настроенные в файлах ssh_config или переданные в ssh(1) командной строки, даже если ssh-agent(1) или PKCS11Provider предлагает больше идентификаторов. Аргументом этого ключевого слова должно быть yes или no (по умолчанию). Эта опция предназначена для ситуаций, когда ssh-agent предлагает много различных идентификаторов.

2
27.01.2020, 22:10

Теги

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