Я пытался войти в систему ssh на сервере ubuntu 11.04 с правами root с параметром AllowRootLogin, установленным на yes, но я получаю «Permision denied». Вот копия моей попытки с помощью ssh -v:
[ 110] Установка PermitRootLogin
в Yes
в вашей конфигурации SSH не отменяет политику безопасности Ubuntu, которая не разрешает вход в систему с правами root.
Если вы хотите войти в систему как пользователь root через SSH, вам необходимо сначала включить учетную запись root (обратите внимание, что вам практически никогда не нужно входить в систему как root, sudo
практически всегда будет достаточно для любой задачи). требующие привилегий суперпользователя. См. здесь для получения дополнительной информации о политике безопасности Ubuntu в отношении sudo и учетной записи root).
Тем не менее, если вы действительно хотите войти в систему как root по SSH, сначала включите учетную запись root, установив для нее пароль.
sudo passwd root
Затем, предполагая, что PermitRootLogin
все еще включен в конфигурации вашего SSH-сервера, вы сможете войти в систему как root через SSH. Обратите внимание, что вы действительно должны использовать пары открытых / закрытых ключей для входа в корневую учетную запись, чтобы избежать рискованного бизнеса, связанного с включением учетной записи root и разрешением входа в нее через SSH. опасно.
После того, как вы закончили делать все, что вам нужно сделать с учетной записью root, я бы рекомендовал снова отключить его, удалив пароль.
sudo passwd -dl root
Одна проблема состоит в том, что корень не имеет пароля в системе по умолчанию. Распространенное заблуждение - то, что пароль Вы помещаете после каждого sudo
команда является паролем корня. В действительности пароль, который Вы помещаете, является Вашим собственным.
Таким образом, то, что необходимо сделать, должно просто добавить пароль для корня:
sudo passwd root
Затем необходимо смочь войти в систему как корень с открытыми-ssh настройками по умолчанию:
ssh root@192.168.1.133
Что выводится в журнале вашего сервера? Это сообщение обычно отображается, когда root
или какой-то неавторизованный пользователь пытается войти в систему. Например, моя учетная запись root отключена с помощью этой строки в /etc/ssh/sshd_config
PermitRootLogin no
Другая возможность состоит в том, что ваш сервер имеет ограниченный список разрешенных пользователей, строка в конфигурации:
AllowUsers user1 user2
Существует также DenyUsers
. Больше информации на man sshd_config
.
Когда кто-то пытается войти в систему как root
на моем сервере, /var/log/auth.log
показывает это:
Jun 7 19:45:05 jaguar sshd[26999]: Failed password for invalid user root from 192.168.1.3 port 10916 ssh2 Jun 7 19:45:06 jaguar sshd[26999]: Connection closed by 192.168.1.3 [preauth]
На клиенте сообщение похоже на ваше:
$ ssh -l root jaguar root@jaguar's password: Permission denied, please try again.
Вы можете попробуйте запустить сервер с отладкой и не отсоединяйте параметры, подобные этой (полный путь к исполняемому файлу необходим):
/usr/sbin/sshd -D -d -p 22
Чтобы запустить новый процесс на том же порту, вы должны остановить свой обычный сервер или использовать другой, чтобы слушать и связываться со стороной клиента.