Підключення SSH запитує пароль, хоча ключ прийнятий


12

Мені з’являється запит на введення пароля, незважаючи на те, що схоже, що мій ключ SSH прийнято. Наскільки я можу сказати, рядок "Сервер приймає ключ: pkalg ssh-rsa blen 277" у журналах нижче означає, що мій ключ прийнятий.

Ось журнали налагодження:

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/sam/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp <<HASH REDACTED>>
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /home/sam/.ssh/id_dsa
debug1: Trying private key: /home/sam/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 1

Допомога дуже вдячна, всі, кого я знайшов, у кого проблеми з SSH, не вдається раніше, ніж я бачу.

Відповіді:


11

Ваш приватний ключ, безумовно, не прийняли, він був лише спробу. Існує декілька способів аутентифікації на основі ключів SSH може бути невдалою, і ведення журналу не дуже велике, тому налагодження цієї конкретної проблеми є одним із моїх особистих вихованців. Я виявив, що помилка, як правило, є результатом однієї з наступних ситуацій.

  • Ваш ~/.ssh/authorized_keysфайл занадто відкритий. Для власного захисту sshdнамагаються захистити вас від себе. Якщо дозволи у вашому авторизованому ключі зберігаються, то автентифікація не вдасться. Біжи chmod -R go-rwx ~/.ssh.
  • Ваш публічний ключ у ~/.ssh/authorized_keysнеправильно сформований. Це може бути результатом будь-якої кількості проблем, але найпоширенішою є проблема вставлення копій. Деякі термінали, коли копіюють / вставляють на екрани, інтерпретують обертання рядків як новий рядок. Кожен запис у authorized_keysфайлі повинен бути одним рядком. Ви можете перевірити це, змінивши розмір емулятора терміналу і побачивши, чи є перерва, порівнюючи вихід із wc -l ~/.ssh/authorized_keysкількістю клавіш, які повинні бути там, або що найбільше підходить для вас. Просто переконайтеся, що кожна клавіша - один рядок, і вам слід добре.

7

Вихід, який ви вставили ssh -v, припустив, що він намагався використовувати ключ, але це не спрацювало, тому він перейшов до інтерактивної клавіатури.

Ви перевірили журнал аутентифікації на сервері, до якого ви підключаєтесь? (наприклад, /var/log/auth.log). Якщо ваша установка на віддаленому кінці неправильна, наприклад, неправильні дозволи, то ssh -v (або -vv або -vvv) цього вам не скаже, але це буде записано sshd.


/var/log/auth.log для мене відповів: "
Відмовлено в

5

У моєму випадку файл /var/log/authlogпоказав:

[ID 800047 auth.info] Authentication refused: bad ownership or modes for directory 

Я перевірив правильність власності / дозволів у, .sshале $HOMEмав 777 дозволів. Встановлення 755 дозволів на $HOMEдозволений sftp для роботи. Знову дякую.


2

Якщо у вас є доступ до сервера (безпосередньо або через інший логін), перевірте вхід до сервера (скажімо) /var/log/sshdабо /var/log/secureзалежно від вашої системи

Зазвичай це викликано помилкою дозволів у вашому ~/.ssh/authorized_keysфайлі. Переконайтеся, що це не читається у всьому світі, але головне, щоб його читали користувач (іноді користувач сервісу), що працює з sshd


1
Яка система використовує /var/log/sshd? Системи, які я знаю, використовують /var/log/auth.logабо /var/log/secure.
kasperd

1

Дозволи ~/.ssh/authorized_keysна віддалене значення є важливими ( 600для моїх систем RHEL та Solaris)

Дозволи вашого домашнього каталогу на віддаленому рівні важливі ( 700у моїх системах)

В кінці запуску sshdна віддаленій машині в режимі налагодження на іншому порту може бути корисно:

sudo /usr/sbin/sshd -p 5555 -dd

5555є прикладом порту, ви можете змінити його. Для отримання додаткової інформації з цього приводу ви можете ознайомитись: http://ubuntuforums.org/archive/index.php/t-2219973.html


0

Я виявив, що є проблема, якщо я користуюся sshdсервісом. Щоб уникнути цієї проблеми, зупиніть sshdслужбу за допомогою service sshd stopта запустіть sshdдемон із командного рядка sudo /usr/sbin/sshd.


0

Спробуйте

/sbin/restorecon -r /root/.ssh

Можлива проблема з налаштуванням дозволів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.