WhatIsHTML
@WhatIsHTML
HTML программист

Почему сервер отклоняет SSH ключ?

Тривиальная задача превратилась в настоящий ад. Хочу настроить подключение к серверу через SSH + пароль.
Пошагово было сделано:
1. На локальном компьютере сгенерировал публичный id_rsa.pub и приватный id_rsaключи.
2. На сервер закинул публичный ключ в папку /etc/ssh/
3. На сервере в папке /etc/ssh/ создаю файл config который выглядит следующим образом
config
# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   IdentityFile ~/.ssh/id_ecdsa
#   IdentityFile ~/.ssh/id_ed25519
#   Port 22
#   Protocol 2
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#   RekeyLimit 1G 1h
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

Host example
  HostName IP_ADDRESS_OF_THE_HOST
  User root
  IdentityFile ~/.ssh/id_rsa.pub
  Port 22


4. Отключаюсь от сервера и пытаюсь подключиться уже с ключом. Подключаюсь через putty, выбираю закрытый ключ локально. Putty предлагает переформатировать закрытый ключ в формат .ppk, соглашаюсь. При попытке покдлючиться к серверу получаю сообщение Сервер отклонил наш ключ.. Тем не менее я могу подключиться по паролю как и раньше.
Что сделал не так?
После изменений в файле config мне нужно перезапускать что-то?
  • Вопрос задан
  • 3700 просмотров
Решения вопроса 1
Mystray
@Mystray
NOC
>Что сделал не так?
все.
например, во-первых, в папке /etc/ssh/ нужен файл настройки сервера sshd_config, который за работу сервера отвечает, и имеет свои параметы, а вы ему клиентский подсовываете.
Во-вторых, id_rsa.pub переименовывается в authorized_keys в папке $HOME/.ssh/ конкретного пользователя (или в sshd_config это правится параметром AuthorizedKeysFile для конкретного Match или глобально).
В-третьих, при изменениях sshd_config сервер надо перезапускать/перечитывать конфиг.
В-четвертых, на файлы в $HOME/.ssh должны быть выставлены корректные права.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
На сервере примерно вот так оно должно выглядеть:
mkdir -p ~/.ssh && cat id_rsa.pub >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

под пользователем под которым вы собираетесь заходить.
Зачем вы создаете файл config понять не могу.
Там должен быть уже файл конфигурации сервера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы