Ошибки SSH в Linux
No identities found
/usr/bin/ssh-copy-id: ERROR: No identities found
Скорее всего не найдет путь до ключа. Укажите его явно с помощью флага -i
Пример
WARNING: UNPROTECTED PRIVATE KEY FILE.
Permissions 0644 are too open
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/home/user/.ssh/id_rsa.pub' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "/home/user/.ssh/id_rsa.pub": bad permissions
Возможно, вы делаете проверку неправильного ключа.
ssh -i ~/.ssh/id_rsa.pub user@192.168.0.2
А нужно
ssh -i ~/.ssh/id_rsa user@192.168.0.2
Если ключ вы указали правильный, то ошибку можно исправить, вручную изменив разрешения.
chmod 400 ~/.ssh/mykey.pem
Если вы работаете в Windows Subsystem for Linux и ключ лежит в NTFS разделе, то chmod 400 сможет понизить разрешения только до 0555.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0555 for 'id_rsa' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored.
По умолчанию WSL использует ключи из
~/.ssh
А не из домашней директории пользователя Windows.
Поэтому, скорее всего, вам будет проще создать ключ там и использовать его.
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
При попытке подключения к, казалось бы, известному хосту можно получить ошибку
ssh user@192.168.1.2
ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERROR: @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERROR: IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! ERROR: Someone could be eavesdropping on you right now (man-in-the-middle attack)! ERROR: It is also possible that a host key has just been changed. ERROR: The fingerprint for the ECDSA key sent by the remote host is ERROR: SHA256:abcde/accdefghijkld9UxLDBnnUHanJ9Svca9vFx7c. ERROR: Please contact your system administrator. ERROR: Add correct host key in /home/user/.ssh/known_hosts to get rid of this message. ERROR: Offending ECDSA key in /home/user/.ssh/known_hosts:3 ERROR: remove with: ERROR: ssh-keygen -f "/home/user/.ssh/known_hosts" -R "192.168.1.2" ERROR: ECDSA host key for 192.168.1.2 has changed and you have requested strict checking. ERROR: Host key verification failed.
Из строки
ERROR: Offending ECDSA key in /home/user/.ssh/known_hosts:3
Можно понять, что проблема вызвана третьей строкой файла /home/user/.ssh/known_hosts
Если вы уверены в надёжности хоста к которому подключаетесь, то можете просто удалить эту строку и подключиться снова
sed -i 3d /home/$(whoami)/.ssh/known_hosts
ssh-keygen -R 192.168.1.2
В случае более сложных подключений, предупреждение может быть по поводу определённого порта
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ED25519 key sent by the remote host is SHA256:nN5D5mBv00vkinsOmKbaKN1o2dEVZj5BidWaKBY1LpA. Please contact your system administrator. Add correct host key in /home/username/.ssh/known_hosts to get rid of this message. Offending ED25519 key in /home/username/.ssh/known_hosts:14 remove with: ssh-keygen -f "/home/username/.ssh/known_hosts" -R "[192.168.56.103]:1234" ED25519 host key for [192.168.56.103]:1234 has changed and you have requested strict checking. Host key verification failed.
В этом случае подсказка по-прежнему содержится в предупреждении (выделил её зелёным).
Выполните
ssh-keygen -f "/home/username/.ssh/known_hosts" -R "[192.168.56.103]:1234"
# Host [192.168.56.103]:1234 found: line 14 /home/username/.ssh/known_hosts updated. Original contents retained as /home/username/.ssh/known_hosts.old
The authenticity of host X can't be established.
Если вы видите в логах подключения следующую ошибку
The authenticity of host '192.168.56.103 (192.168.56.103)' can't be established.
Первым делом перейдите в ~/.ssh и проверьте наличие и содержание файла known_hosts а также права на него.
cd ~/.ssh
ls -la
vi known_hosts
Too many authentication failures
Received disconnect from 192.168.56.2 port 22:2: Too many authentication failures
Частая причина появления этой ошибки - слишком большое количество ключей в
/home/$(whoami)/.ssh
Если их больше шести, то при переборе до нужного ключа может и не дойти. Как вариант решения проблемы можно увеличить разрешённое количество попыток подключения с шести до большего числа.
sudo vi /etc/ssh/sshd_config
# MaxAuthTries 6 MaxAuthTries 30
sudo systemctl restart sshd.service
Или если вы в Debian , Ubuntu и т.д.
sudo systemctl restart ssh.service
Не пытается использовать ключ
Если при попытке подключения вы рассчитываете, что будет использоваться ключ
а вам предлагается ввести пароль, но если указать ключ явно с помощью -i
всё работает как надо - скорее всего вы под другим пользователем.
Такое бывает, например, когда вы зашли в
контейнер
под рутом, а ожидали, что под
обычным пользователем.
Автор статьи: Андрей Олегович
SSH | |
SSH туннель | |
SSH сертификаты | |
Ошибки SSH | |
Linux | |
Bash | |
Настройка сети | |
sudo | |
SCP: обмен файлами; | |
C | |
C++ | |
Сети | |
Кибербезопасность | |
SSH в Windows | |
Telnet |