Я только что установил Ubuntu 14.04 на свой сервер и настраивал все свои конфигурационные файлы, когда натолкнулся на это в моем sshd_config
файле:
# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes
Это заставило меня очень волноваться. Я думал, что возможно, что кто-то мог войти в мой сервер как пользователь root без пароля.
Я попытался подключиться к моему серверу как root через:
johns-mbp:~ john$ ssh root@192.168.1.48
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
root@192.168.1.48's password:
Я ввел пустой пароль, и он не позволил мне войти, что было облегчением. Итак, мой вопрос: что значит без пароля и почему это по умолчанию в Ubuntu 14.04?
without-password
значит все методы разрешены, кроме пароля? Это действительно звучит как «разрешено входить в систему без пароля».PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'.
На самом деле этот параметр ничего не делает, если вы используете аутентификацию PAM. В нижней части
sshd_config
файла конфигурации вы найдете:По умолчанию в Ubuntu используется аутентификация PAM:
источник
no
не будетPermitRootLogin without-password
работать, как-то! :(ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip
и это создает условия, если вы~/.ssh/authorized_keys
не можете войти в систему как пользователь root, вы бы не создали этот файл в /root/.ssh/, но он работает, если вы копируете файл тамОбратите внимание, что существуют веские причины для входа в систему через root (но с использованием криптографических ключей, а не пароля). Типичным примером является удаленная синхронизация двух серверов (чтобы один из них использовался в качестве отказоустойчивого). Поскольку структура должна быть идентичной, часто требуется пароль root.
Вот пример использования unison для синхронизации: https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison
источник
sudo
группе не позволят вам сделать это?В новых версиях sshd «без пароля» было изменено на «Запретить пароль».
Обе версии работают, вероятно, лучше всего использовать «запретить пароль», если вы можете: это объясняет себя лучше.
источник