I believe this corresponds to a public/private key authentication with the server.
Выполняется одна аутентификация по паролю и одна аутентификация по открытому ключу.
I think this is vulnerable to man-in-the-middle attacks.
Если правильно проверить ключ хоста, он не будет уязвим для MitM.
I think the second command is what essentially the command ssh-copy-id does.
Да, но
ssh-copy-id
также выполняет другие проверки, чтобы убедиться, что разрешения и контексты selinux верны. Также он делает это по сети и использует аутентификациюpassword
.The option -i tells however where to find a private key which I didn't do before.
Да. Но
/home/login_server/.ssh/id_rsa
по умолчанию.Can I assume that this is a certified version of the above?
Нет. Это просто копирование файлов. Если домашний каталог монтируется каким-либо другим методом (NFS, Samba или опять же
sshfs
), вы полагаетесь на безопасность этих протоколов. Сертификаты — это нечто другое, как описано, например, здесь:
Использование bash-теста:
if [[ "$(LC_TIME=C date +%A)" == 'Thursday' && "$(date +%d)" -le 7 ]]; then
exit 1
fi
Примечание. :Функционально это ничем не отличается от теста в вашем вопросе.
Просто добавьте это в начало скрипта. Если это первый четверг месяца, скрипт сразу закроется, в противном случае он запустится.
В качестве альтернативы вы можете поместить его прямо в запись crontab, что-то вроде:
0 1 * * 1,4 [[ "$(LC_TIME=C date +\%A)" == 'Thursday' && "$(date +\%d)" -le 7 ]] || /path/to/script.sh