Я установил экземпляр EC2 с ArchLinux для клиента, и в настоящее время я нахожусь на этапе тестирования.
Я использую PuTTY из Windows 8 для подключения к машине по SSH. Я правильно настроил профиль подключения и указал правильный ключевой файл.
При попытке войти в систему мне предоставляется возможность выбрать, под каким пользователем я хочу войти. Я выбираю «root», и соединение проходит без проблем, хотя пароль root не запрашивается.
Я хочу запретить вход в систему с правами root, но при попытке войти в систему как любой другой пользователь я получаю от системы:
Server refused our key
Также я получаю всплывающее окно с сообщением:
Disconnected: No supported authentication methods available (server sent: publickey)
Почему я не могу войти в систему как любой другой пользователь? Для меня очень важно запретить вход в систему с правами root.
Кстати, нормально ли, что мне не предлагается ввести пароль root?
Убедитесь, что ваш открытый ключ SSH установлен в /home/non-root/.ssh/authorized_keys
файл для non-root
пользователь. В Server refused our key
сообщение говорит о том, что он установлен неправильно или неправильно.
Если вы хотите использовать один и тот же ключ SSH для обоих root
и ваш non-root
пользователей, это может быть так же просто, как скопировать /root/.ssh/authorized_keys
файл в /home/non-root/.ssh/authorized_keys
.
Также сообщение Disconnected: No supported authentication methods available (server sent: publickey)
похоже, предполагает, что этот SSH-сервер настроен только для аутентификации с помощью SSH-ключей. Если вы хотите также разрешить аутентификацию на основе пароля, добавьте PasswordAuthentication yes
на ваш /etc/ssh/sshd_config
файл и перезапустите sshd
.
Что касается того, что вас не спрашивают root
пароль при входе как root
по умолчанию SSH-сервер настроен на предпочтение аутентификации с использованием ключа SSH, а не паролей, поэтому, если это удастся, вас не попросят ввести пароль.
ArchLinux вики есть дополнительная информация об использовании ключей SSH, которые также могут быть полезны.