Тимчасово відключити аутентифікацію відкритого ключа ssh від клієнта


37

Чи є спосіб тимчасово відключити аутентифікацію відкритого ключа під час ssh'ing та використовувати замість цього автентифікацію пароля?

На даний момент я хочу отримати доступ до віддаленого сервера, але я використовую інший ноутбук, не мій.

Переглядаючи це посилання , я виявив, що команда ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no host1.example.orgпрацює не скрізь. І так, це не працює для мене. Я використовую: OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 березня 2012 року

Редагувати: Я також намагався ввести, ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no але все ще маю "Відмовлено у дозволі (publickey)".

Отже, чи є певна конфігурація, яку потрібно зробити на віддаленому сервері, щоб ця команда працювала? Або коли ця команда запрацює так, як очікувалося?

Дякую за поради.


30
Якщо ви знову ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no
перейшли

@NikW Дякую велике, можливо, я мусив би це згадати, спробував команду, яку ви також пропонуєте, все ще маю "Відмовлено у дозволі (publickey)".
Nsukami _

1
Тільки вдарив про цю проблему, оскільки мій ноутбук мав TON ключів, і ssh спробував їх усі, і мене відхилили ще до того, як з'явилася можливість ввести пароль. Спасибі за питання.
Даллайлен

3
@NickW Якщо ви поставите свій коментар як відповідь, я б його схвалив.
лабіринт

Відповіді:


9

Це звучить як проблема конфігурації на стороні сервера.

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

Якщо ви отримуєте повідомлення про помилку, "Permission denied (publickey)" це здається, що автентифікація пароля не підтримується на вашому сервері.

Не бачачи файлу / etc / sshd_config, важко знати, але я гадаю, що вам потрібно переконатися, що існує наступний рядок:

PasswordAuthentication yes

Перезавантажте ssh-сервер, і при підключенні до клієнта вам буде запропоновано ввести пароль, якщо немає приватного ключа або якщо приватний ключ не відповідає відкритому ключу на сервері.

Більш безпечною альтернативою цьому, звичайно, буде скопіювати свій приватний ключ на ноутбук, який ви використовуєте, або фактично створити новий приватний ключ, який буде використовуватися на цьому ноутбуці, і додати відкритий ключ до .ssh/authorized_keys


6

Просто зробіть порожній файл ID.

touch $HOME/.ssh/blank

Якщо ви залишите дозвіл 640 або 644, ssh поскаржиться на те, що дозволи не є достатньо безпечними, і не використовуватимуть його. Якщо ви chmod до 600, він запитає про введення пароля 3 рази і не вдасться, оскільки пароля немає. Тому просто залиште це 640 або 644.

Потім, коли ви ssh використовуєте цю команду.

ssh -i $HOME/.ssh/blank servername-or-ip

Ви можете використовувати .ssh / config та встановити хост-запис, щоб не використовувати ключ, але це менш тимчасово, або ви можете створити псевдоніми для сервера та серверу-nokey, але він стає довгим і болісно підтримувати.


5
-i /dev/nullтакож працює і не потребує перевірки дозволів.
svvac

Файли Blank / нуль не працюють, sshкаже Load key "/dev/null": invalid format, то він переходить до використання альтернативних джерел ви налаштували в будь-якому випадку, а потім не може увійти з - за занадто великої кількості відмов аутентифікації.
Malvineous

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