ssh клиент запрашивает пароль по умолчанию; как настроить его на использование ключа?

У меня есть и пароли, и аутентификация pubkey, доступные на моем сервере. Я могу зарегистрироваться с клиентом с указанным ключом:

ssh user@host -i id_rsa 

Когда я не укажу ключевой файл, он запрашивает пароль. Но я хотел бы войти по ключевому файлу по умолчанию.

Я нашел подсказку, что я могу поместить что-то в ~ / .ssh / config. Поэтому я указал что-то вроде этого:

 Host xxx IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes User uuu 

Конфигурация интерпретируется – используется пользователь uuu, но ключевой файл по-прежнему игнорируется. Как сделать ssh предпочтительнее по умолчанию?

  • Как ограничить число попыток входа ssh за интервал времени
  • Почему соединение с использованием ключа ssh прерывается с одним именем хоста, но работает с другими?
  • Почему моя попытка пересылки X11 завершилась с ошибкой «connect /tmp/.X11-unix/X0: нет такого файла или каталога»?
  • Сколько оперативной памяти должно использовать SSH-соединение?
  • Содержимое Rsync tar с удаленным сервером
  • Как использовать sshpass для предоставления пароля на втором ssh hop
  • SSH jumphost без учетных записей пользователей на jumphost
  • Как программно отключить пользователя ssh?
  • 4 Solutions collect form web for “ssh клиент запрашивает пароль по умолчанию; как настроить его на использование ключа?”

    Если у вас есть каталог ~/.ssh и закрытый ключ id_rsa в вашем ~/.ssh принадлежащем вам с файловым режимом 0600 ( -rw------- ), то ssh будет использовать его автоматически и запросить пароль только если аутентификация с открытым ключом не удалась. Убедитесь, что все эти условия выполнены. Параметр -i обычно используется, когда вам нужно пройти аутентификацию с помощью другого ключа.

    Ваш файл конфигурации должен быть

     Host xxx User user IdentityFile ~/.ssh/id_rsa 

    Вы должны проверить rigth на файлах:

     ~/.ssh/id_rsa : rwx------ 

    На удаленном хосте:

    • /home/user : нет прав на запись для группы и других
    • /home/user/.ssh : rwx------

    Вы можете проверить файл журнала на удаленном хосте, и вы можете увидеть некоторые сообщения об ошибках:

     tail -f /var/log/auth.log 

    Надеюсь, поможет

    Предполагая, что у вас есть сервер с SSH и клиент, с которого вы хотите подключиться к серверу, вам нужно создать закрытый и открытый ключи на клиентской машине и скопировать открытый ключ на сервере.

    Перед этим вам нужно проверить, где ваш SSH-сервер ищет клиентские ключи. Вам нужно проверить конфигурационный файл SSH-сервера / etc / ssh / sshd_config и найти следующую строку:

     AuthorizedKeysFile .ssh/authorized_keys 

    Это говорит о том, что сервер будет искать в файле с именем authorized_keys каждого домашнего каталога пользователя в папку .ssh для открытых ключей, разрешенных для входа этого пользователя.

    Теперь, в своем клиенте, как вы сказали, что вы уже используете SSH-ключ, сгенерированный на клиенте, вам нужно скопировать содержимое вашего открытого ключа в файл authorized_keys пользователя, который вы хотите войти на сервер.

    Чтобы упростить это, выполните следующие шаги:

    • Найдите директиву AuthorizedKeysFile в /etc/ssh/sshd_config на сервере.
    • Создайте личные и открытые ключи в клиенте (вы уже это сделали).
    • Скопируйте содержимое открытого ключа клиента в файл authorized_keys пользователя, который вы хотите войти на сервер. Если вы хотите войти в систему с username , вам необходимо скопировать открытый ключ в файл /home/username/.ssh/authorized_keys (создать его, если его не существует).

    Надеюсь это поможет.

    Спасибо всем. Похоже, что это была проблема с ssh-agent. После перезагрузки все в порядке. Я думаю, что он не обновлял какую-то конфигурацию «на лету», когда принятые методы входа изменились на сервере.

    Linux и Unix - лучшая ОС в мире.