Я создал экземпляр EC2. Он имеет подключение к Интернету и я могу подключиться по ssh к ubuntu@ip, используя 'test_kp.pem'.
Я создал нового пользователя useradd test-user
и новую пару ключей test-user-kp
в консоли AWS EC2.
Я создал каталог home/test-user/.ssh и файл .ssh/authorized_keys
Я выполнил команду ssh-keygen -f test-user-kp.pem -y
и скопировал содержимое в authorized_keys. Я также исправил права доступа .ssh и файла authorized_keys.
Теперь я пытаюсь выполнить ssh -i test-user-kp.pem test-user@ip
команду, но она терпит неудачу с сообщением:
test-user@ip: Доступ запрещен (открытый ключ).
решение1
Для этого есть несколько возможностей.
Читая ваш пост, мне интересно, скопировали ли вы содержимое test-user-pk.pem в ~ssh/authorized_keys. Если вы это сделали, то проблема в этом. Этот файл — ЧАСТНЫЙ ключ — открытый ключ будет находиться в test-user-pk.pem.pub Это достаточно легко проверить, поскольку формат закрытого ключа сильно отличается от открытого ключа и начинается с -----BEGIN OPENSSH PRIVATE KEY------, охватывающего несколько строк, а не одной длинной строки с 3 полями, вероятно, начинающейся с «ssh-rsa» и заканчивающейся именем пользователя@имя_хоста — с открытым ключом в середине.
В противном случае -
В общем случае попробуйте войти по ssh как пользователь с флагом «-v», переданным SSH, чтобы зарегистрировать то, что видит клиент, а также посмотрите файл журнала сервера, пока вы это делаете.
Вы можете пойти еще дальше, запустив второй экземпляр sshd на сервере на альтернативном порту и не отсоединяя его, а затем посмотреть, что произойдет при попытке подключения.
Некоторые конкретные возможности, на которые стоит обратить внимание:
SeLinux нарушает экземпляр (т. е. права доступа к файлам или что-то подобное). Я видел это раньше, и это больно. Файл Audit.log покажет, так ли это, и если это похоже на случай, временное отключение selinux может помочь исключить эту проблему. (Я видел это раньше, но не на Ubuntu-боксах)
В /etc/ssh/sshd_conf есть что-то, что мешает согласованию — например, список AllowUsers.
Может ли это быть проблема с правами доступа к домашнему каталогу пользователя?
Может быть, это что-то глупое, например, вы добавили ключ.
решение2
Я создал 'authorized_keys' как root. Чтобы исправить это, я запустил
sudo chown тестовый пользователь authorized_keys