Вопрос или проблема
Я пытаюсь научиться работать с удаленными машинами в linux, поэтому я создал две виртуальные машины ubuntu на своем ПК с помощью виртуального рабочего стола. Однако я не могу войти в одну машину с другой. Каждая виртуальная машина может делать ping другой и получать ответ. У меня также установлен ssh на обеих машинах. Когда я пытаюсь войти в машину удаленно, используя ssh hostname@IPAdress
, я получаю следующую ошибку:
Доступ запрещен, попробуйте еще раз
Изучив проблему, просматривая ряд похожих сообщений, я заметил, что многие люди рекомендуют изменить различные параметры в файле sshd_config
. До сих пор я внес следующие изменения:
Разрешить вход root yes
Аутентификация паролем yes
После выполнения команды sudo service ssh restart
я все еще получаю тот же результат.
Кто-то в другом сообщении предложил посмотреть в файл auth.log. В настоящее время единственные записи, которые ведутся, когда я пытаюсь войти, это:
pam_unix(sudo:session): сессия открыта для пользователя (uid=o)
pam_unix(sudo:session): сессия закрыта для пользователя root
Я очень новичок в Linux, но насколько я понимаю, я пытаюсь войти удаленно в свою учетную запись удаленного пользователя (у меня только одна учетная запись, так что я уверен, что это должна быть учетная запись удаленного пользователя). На моей машине не нужно вводить пароль для входа в качестве этого пользователя, когда вы впервые включаете машину. Но если вы выходите, вам нужно ввести пароль для повторного входа. Вот тот пароль, который я использую.
Любая помощь будет очень признательна!
Я теперь решил проблему. Я использовал имя хоста, а не имя пользователя, чтобы попытаться войти.
Ответ или решение
Создание и работа с удалёнными машинами в Linux может быть сложной задачей, особенно для новичков. В вашем случае процесс подключения через SSH столкнулся с трудностями, что привело к ошибке "Permission denied, please try again". Ниже мы детально разберём причины этой проблемы и как их можно избежать в будущем.
Установка и конфигурация SSH
-
Установка SSH: Вы подтвердили, что SSH установлен на обеих виртуальных машинах. Для этого можно использовать команду:
sudo apt-get install openssh-server
-
Проверка статуса SSH: Убедитесь, что SSH-сервер запущен на удалённой машине:
sudo systemctl status ssh
-
Настройки sshd_config: Вы внесли изменения в файл конфигурации
/etc/ssh/sshd_config
. Однако убедитесь, что все необходимые параметры установлены корректно. Для успешного использования SSH убедитесь, что такие строки активированы:PermitRootLogin yes PasswordAuthentication yes
-
Перезапуск службы SSH: После изменения конфигурации важно перезапустить SSH-сервис:
sudo systemctl restart ssh
Проверка логов
Поскольку вы упомянули, что осмотрели файл auth.log
, важно знать, что именно в нем могут отражаться различные ошибки, связанные с аутентификацией. Если вы не видите сообщений, касающихся попытки SSH, возможно, дело в неправильном имени пользователя или его настройках.
Аутентификация пользователя
-
Проверка имен пользователей: Как вы уже выяснили, ошибка могла возникнуть из-за путаницы между именем пользователя и именем хоста. Для подключения вам нужно использовать формат:
ssh username@IP_Address
Подставив вместо
username
действительное имя пользователя удалённой машины. -
Пароль пользователя: Вы упомянули, что для входа в систему не требуется вводить пароль при первом включении. Однако при попытке подключения по SSH вы должны использовать пароль, который используется для входа в систему после выхода.
Устранение неполадок
Если проблема продолжается, рассмотрите следующие шаги:
-
Проверка пользователей и прав: Убедитесь, что ваш пользователь существует на удаленной машине и имеет права для подключения по SSH.
cat /etc/passwd | grep your_username
-
SSH-подключение с отладкой: Используйте команду с ключом
-v
для получения более подробной информации о процессе подключения:ssh -v username@IP_Address
Эта команда выдаст отладочную информацию, которая поможет выяснить, где именно происходит сбой.
-
Firewall: Убедитесь, что брандмауэр не блокирует порты SSH (обычно 22):
sudo ufw allow ssh
Заключение
Работа с SSH может потребовать терпения и внимания к деталям. Ваша проблема была вызвана путаницей с именами, что довольно распространено среди начинающих пользователей. Следуя вышеизложенным рекомендациям, вы сможете не только устранить текущие проблемы, но и улучшить свои навыки работы с удалёнными системами в Linux.
Не забудьте, что практика делает мастера, и со временем вы обязательно станете уверенным пользователем Linux!