Как отобразить имя пользователя @hostname в подсказке пароля SSHD

Когда я SSH к серверу, приглашение иногда отображает моего пользователя и имя хоста сервера:

xavier@local:~$ ssh server1
xavier@server1's password: 

Иногда все, что я получаю, это Password:

xavier@local:~$ ssh server2
Password: 

Что менее удобно при туннелировании (сложно узнать, нужно ли вводить пароль для второго сервера или нужно повторить первый, потому что я допустил ошибку, например), а также при использовании разных имен пользователей (я забыл установить правильный в .ssh/config?).

Обычно я нахожу, что Debian/Ubuntu предложит user@hostname's password:тогда как я вижу Password: на серверах OpenSUSE/SLES/Mac.

Очевидно, что серверы настроены по-разному, но я не мог найти, что вызывает эту разницу. Как настроить сервер ssh для отображения имени пользователя и хоста в командной строке? Или, может быть, я могу сделать это на стороне клиента?

1 ответ

Решение

Расследуя немного дальше, кажется, что user@server's password приглашение используется для аутентификации по паролю, тогда как Password: отображается подсказка для интерактивной аутентификации с помощью клавиатуры. Я не знал, что эти два метода существуют. Они выглядят довольно похожими, так как обычно оба спрашивают пароль.

Так что хитрость заключается в том, чтобы:

  1. Убедитесь, что на сервере включена аутентификация по паролю. В /etc/ssh/sshd_config:

    PasswordAuthentication yes
    
  2. На стороне клиента установите password как предпочтительный метод

    ssh -o PreferredAuthentications=password server2
    

    Целесообразно добавить keyboard-interactive метод к списку в случае, если на сервере отключена PasswordAuthentication

    ssh -o PreferredAuthentications=password,keyboard-interactive server2
    

    Я добавил следующее к моему .ssh/config:

    Host *
            ServerAliveInterval 120
            VerifyHostKeyDNS yes
            PreferredAuthentications publickey,password,keyboard-interactive
    

Я сейчас получаю user@server's password: подскажите на всех хостах.

Другие вопросы по тегам