В вашем примере есть две проблемы.
Сначала вам нужно заменить .
в календарных датах на /
или -
. Это избавляет от ошибки неверной даты.
Затем вам нужно добавить +%s%N
к вашим командам date
. Это преобразует дату во время эпохи в наносекундах.
У меня отлично работает следующий код.
x='2020/01/23 14:41:18.554'
y='2020/01/23 17:17:02.323'
if [[ $(date -d "$x" +%s%N) -gt $(date -d "$y" +%s%N) ]]
then
echo -e "first value is greater than second"
#### Perform some actions
#### Perform some actions
else
echo "second value is greater, so do nothing"
fi
exit
изменить :см.https://stackoverflow.com/questions/16548528/command-to-get-time-in-millisecondsдля совместимости с наносекундами
Fedora 33 изменила политику шифрования по умолчанию таким образом, что ключи ssh-rsa
больше не принимаются для входа в систему. Вам нужно сгенерировать новый ключ с более безопасным типом (, напримерssh-keygen -t ecdsa
). Затем вставьте соответствующий открытый ключ, созданный этим, в ваш файл authorized_keys
.
Новая политика шифрования по умолчанию для opensshserver
будет принимать эти типы ключей:
PubkeyAcceptedKeyTypes ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.
com,sk-ecdsa-sha2-nistp256@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.c
om,ecdsa-sha2-nistp384,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp
521,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519,ssh-ed25519-cert-v01@op
enssh.com,sk-ssh-ed25519@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,rsa-sha
2-256,rsa-sha2-256-cert-v01@openssh.com,rsa-sha2-512,rsa-sha2-512-cert-v01@opens
sh.com
(Вы также можете изменить политику шифрования по умолчанию в вашей системе, чтобы принимать эти ключи, но я бы не рекомендовал этого делать.)