Невозможно подключиться к серверу как root через ssh

Невозможно подключиться к серверу как root через ssh

Я хочу использовать удаленный проводник в VS Code на Windows для доступа к серверу из Ubuntu. Ввод пароля все время раздражает, поэтому я попробовал сгенерировать ключ ssh с помощью ssh-keygen. Ключ отлично работает для обычного пользователя, но я не могу войти как root.

Ошибка cmd (ssh root@<server_ip>):

root@<server_ip>: Permission denied (publickey,password).

Ошибка в /var/log/auth.log:

sshd[1012327]: Connection reset by authenticating user root <client_ip> port 59021 [preauth]

Во всех решениях, которые я видел, упоминается sshd_config, но в нем включен вход в систему под учетной записью root. sshd_config:

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile     .ssh/authorized_keys .ssh/authorized_keys2

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

Я добавил открытый ключ в /home/user/.ssh/authorized_keysфайл. Мне кажется, что этот ключ только для пользователя, но из руководств следует, что я могу использовать его и для root.

Так почему же я не могу подключиться как root?

решение1

Мне кажется, что этот ключ предназначен только для пользователя, но из руководств следует, что его можно использовать и для root.

Проводники ввели вас в заблуждение.

У каждого пользователя есть свой домашний каталог и, следовательно, свой собственный authorized_keys. Домашний каталог пользователя root обычно /root/. Поэтому соответствующий файл для входа в систему как root — /root/.ssh/authorized_keys. Он не имеет ничего общего с /home/user/.ssh/authorized_keys.

Подумайте об этом. /home/user/.ssh/authorized_keysпринадлежит пользователю user, который является обычным пользователем и можетили нетиметь доступ sudo. Пользователь может зарегистрировать там любой ключ. Если root использовал тот же файл, то пользователь мог бы войти как root, просто авторизовав какой-то ключ.

Связанный контент