macOS 10.12 Sierra: ssh-key, DSA, Corrupted MAC on input, No matching host key type
Установил сегодня обновление macOS 10.12 Sierra, поиграл с Siri, а через два часа матерился, потому что не мог попасть на сервера по SSH с использованием ключей.
Связка ключей (Keychain) не работает с ключевой фразой (passphrase) ssh-ключа
Это самый главный вопрос на который я не нашел ответа. Если раньше ключ-фраза сохранялась в связке (Keychain Access.app), то теперь этого не происходит, где хранится ключ-фраза и как её удалить непонятно, даже после перезагрузки системы ключ-фраза не запрашивается.
Отказ от ssh-dss (DSA key)
Были пару ключей DSA, а в Mac теперь OpenSSH 7.0 в нем по умолчанию ssh-dss отключены. Просто избавился от них.
Можно их снова заставить работать, но это временное решение, потом их поддержку уберут с концами: https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html
Еще две ошибки
Дальше нашли еще две ошибки:
- Unable to negotiate with 1.2.3.4 port 22: no matching host key type found. Their offer: ssh-dss
- Corrupted MAC on input. Connection to 1.2.3.4 closed by remote host.
Тоже проблема из-за ssh-dss, исправить можно, если нужно:
Открываем: sudo nano /etc/ssh/ssh_config
Убираем #
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
В конец добавляем:
HostkeyAlgorithms ssh-dss
Немного про FileZilla
Создал RSA ключи, всё работает с OpenSSH 7.0, но FileZilla их автоматически не зацепила. Указал ей в настройках на положение ключа, но формат не поддерживается, перевел в правильный формат, но теперь нет магии и все время нужно вводить ключ-фразу.
P.S.: На тему ключ-фразы и её хранения, пишут что так было в бета 10.11, потом исправили.