У меня дома есть машина с Elementary OS 0.2 с очень небольшим объемом оперативной памяти, swap всегда почти заполнен (я обновлю оперативную память, как только смогу). На ней установлен сервер OpenSSH с аутентификацией по открытому ключу. Сегодня при входе в систему он запросил у меня пароль. Я переслал свой открытый ключ в удаленный файл authorized_keys, и аутентификация по открытому ключу снова заработала. Полагаю, что на файле была блокировка, которая была снята, когда я в него записывал.
Правильно ли я интерпретирую эту ситуацию? Является ли вероятная причина проблемы блокировкой файла authorized_keys? И может ли полный раздел подкачки вызывать проблемы с блокировкой файлов?
решение1
К сожалению, ваш вопрос специфичен для приложения и сценария/ситуации. Короткий ответ — просто нет (или, скорее, не должен).
Раздел подкачки следует рассматривать как расширение оперативной памяти. Чтобы предотвратить заполнение раздела подкачки, вы можете (до того, как приобретете больше оперативной памяти) попытаться увеличить раздел подкачки. Но приобретите также и больше оперативной памяти, поскольку раздел подкачки может быть в 1000 раз медленнее оперативной памяти.
Итак, чтобы полностью ответить на ваш вопрос, задайте следующий вопрос: Что происходит с ПК (и запущенными на нем приложениями), когда у него заканчивается оперативная память? Или оперативная память и файл подкачки?
Он откажется запускать новые приложения... Он откажется предоставлять новые блоки памяти приложениям, запрашивающим память (если эти приложения смогут восстановиться после такого отказа, они зарегистрируют ошибку и продолжат работу, большинство приложений дадут сбой или корректно завершат работу, поскольку они не смогут выполнить свое назначение, если не смогут выделить память).
Так что если ваш файл ключей действительно был заблокирован (что, я не спорю, могло произойти), то, скорее всего, это произошло из-за чего-то, связанного с SSH/SSL, например, из-за зависания демона из-за того, что он не смог выделить память, или из-за перезапуска демона по вышеупомянутой причине.
Если вы используете openssh-server, измените ваш /etc/ssh/sshd_conf, чтобы не разрешать аутентификацию по паролю, и попробуйте воссоздать сценарий, в котором у вас будет ноль оперативной памяти и ноль места подкачки. Честно говоря, я действительно подозреваю, что sshd просто упадет.