вторник, 25 августа 2015 г.

Убрать …received a naive datetime while time zone support is active

Просто чтобы не забыть. Вдруг опять пригодится.

При заполнении базы данными (в моём случае с default=datetime.now в модели) django может сыпать варнинги:
DateTimeField ModelName.field_name received a naive datetime while time zone support is active.

Так как в моём случае это бесполезная информация :) , то нужно просто отключить ругань в консоль. Делается добавлением кода:

import warnings
warnings.filterwarnings(
        'ignore', r"DateTimeField .* received a naive datetime",
        RuntimeWarning, r'django\.db\.models\.fields')

вторник, 18 августа 2015 г.

OpenSSH 7. Возвращаем авторизацию по ключам

Return simple authorization by public keys

У меня на большинство серверов настроена авторизация по ключам. Удобно — один раз разблокировал связку ключей и ходишь по серверам не отвлекаясь на ввод паролей. Когда пароли на все сервера разные, это действительно удобно.
Но после обновление ssh до 7 версии у меня вдруг постоянно стал запрашиваться пароль при подключении к серверам, как будто никаких ключей и не было никогда прописано. Либо я один с такой проблемой, либо просто обновился рано, но готового ответа нагуглить не удалось, а решается всё просто.
В новой версии добавилась опция PubkeyAcceptedKeyTypes (ссыль), без которой имеющиеся ключи стали игнорироваться.
Идём в /etc/ssh/ssh_config и добавляем PubkeyAcceptedKeyTypes=+ssh-dss . Всё. Опять авторизация по ключам работает.


Проверить причину "неавторизации" можно включением дебага (или verbose) при попытке коннекта:
$ ssh -v hostname

В моём случае в выводе присутствовало:
debug1: Skipping ssh-dss key /home/george/.ssh/id_dsa for not in PubkeyAcceptedKeyTypes
debug1: Next authentication method: password


Dirty tags ;) : ssh ignore keys, ssh want password, enable ssh key logon