SSH: ошибка “Too many authentication failures”

Thank you for reading this post, don't forget to subscribe!

При под­клю­че­нии по SSH нача­ла появ­лять­ся ошиб­ка “Too many authentication failures“.

Ошибка и причины

При­чи­на доста­точ­но про­стая: SSH-кли­ент при под­клю­че­нии сна­ча­ла пыта­ет­ся исполь­зо­вать клю­чи, кото­рые загру­же­ны ssh-agent, и толь­ко потом исполь­зу­ет ключ, пере­дан­ный кли­ен­ту опци­ей -i.

Сама ошиб­ка выгля­дит так:

Что бы убе­дить­ся, что сна­ча­ла исполь­зу­ют­ся клю­чи ssh-agent – выпол­ня­ем под­клю­че­ние в дебаг-режи­ме, добав­ля­ем -v:

И про­ве­рим клю­чи, кото­рые в дан­ный момент загру­же­ны агентом:


До послед­не­го клю­ча, setevoy-do-nextcloud-production-d10-03-11, запрос даже не успе­ва­ет дой­ти – ssh-сер­вер уже начи­на­ет отбра­сы­вать подключения.

Решение

Для того, что бы ssh-кли­ент не пере­би­рал все загру­жен­ные аген­том клю­чи – исполь­зу­ем опцию IdentitiesOnly со зна­че­ни­ем yes:

Что бы сде­лать её посто­ян­ной – добав­ля­ем в ~/.ssh/config:


Готово