Аутентификация на основе ключа SSH в Ubuntu не работает из-за "Нет такого файла или каталога"?
Я пытаюсь получить доступ к своему vps с помощью аутентификации на основе ключей SSH. вот что я пробовал:
1. создать публичный и закрытый ключ в Windows с помощью PuTTYgen
2. скопируйте однострочный формат открытого ключа в этот файл
/home/username/.ssh/authorised_keys
вот как выглядит ключ:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAxjoUKeoEWdpazINZ1WmEiierZ1eC/OtQ6r0MFBofBg3oSvzF0o3mqzJB2rklNAcFoiQ/MHB5nk7lLfb82Ny7np9vYXoprZinM68PSjfhNd20QfXRJfeTaKZqWtzv64r+zOPs3n32FEfSY5x5numk6YqZ1AjbwyU2/HhEUN35FzyjofZjCiR9BM5eaylf8yJ/fgHVoFBVuL7N5jsbPG6fP2ZEIGSBFH6DCN+HEpvySFzdgy2KkznRl0/o1dWc3FU8NaqZG+M1JZzEIjehEuaVwMFrIQxdHXoZCY7OJHHwWFOQCWhYScTh3PeOnvPnU6LYBLgAG+felrdQrho2My9jxw== rsa-key-20191225
3.sudo chmod 700 ~/.ssh
4.sudo chmod 600 ~/.ssh/authorized_keys
5.sudo chown -R $(whoami):$(whoami) ~/.ssh/
Когда я пытаюсь подключиться с закрытым ключом, загруженным в PuTTY, я получаю в журнале эту ошибку: `
Dec 26 00:27:34 berbidserver sshd[29601]: debug1: Could not open authorized keys '/home/tarantula/.ssh/authorized_keys': No such file or directory
Dec 26 00:27:34 berbidserver sshd[29601]: debug1: restore_uid: 0/0
Dec 26 00:27:34 berbidserver sshd[29601]: debug1: temporarily_use_uid: 1001/1001 (e=0/0)
Dec 26 00:27:34 berbidserver sshd[29601]: debug1: trying public key file /home/tarantula/.ssh/authorized_keys2
Dec 26 00:27:34 berbidserver sshd[29601]: debug1: Could not open authorized keys '/home/tarantula/.ssh/authorized_keys2': No such file or directory
`
2 ответа
Но подключили ли вы SSH к серверу с пользовательским тарантулом, когда вы создали папку ~/.ssh и скопировали файлы? Я предполагаю, что вы SSHed как root, поэтому файлы не находятся в домашнем каталоге пользователя tarantula. Скорее всего, они находятся в /root.
Если вы не хотите предоставлять пользователю tarantula SSH-права, вы можете сделать следующее:
- SSH к серверу как root
- Затем введите:
su - tarantula
войти как тарантул - как только вы вошли в систему как тарантул, добавьте папку.ssh, если она еще не существует, скопируйте файлы
На самом деле все просто: вы используете английское написание слова «авторизованный», а ubuntu использует авторизованную американскую версию (с буквой Z).