Пройдите через MSTSC-соединение к xrdp
/var/log/secure
/var/log/messages
Основываясь на комментарии OP, "...Failed password for root from 192.168.4.190 port 50677..." похоже, что это может быть пароль пользователя root, а не то, что вы думаете. Снова используя ваш MSTSC доступ через xrdp
su - и войти в систему как root.
Если вы можете, то проблема, скорее всего, заключается либо в том, что в вашем файле /etc/ssh/sshd_config не разрешен ни root доступ пользователей, ни в том, что IP-адрес, с которого вы пытаетесь соединиться, может быть не разрешен. Тем не менее, я бы ожидал, что в лог-файлах /var/log/* сообщения будут отличаться, но это две дополнительные зацепки для продолжения .
Я думаю, что это потому, что у вас нет PasswordAuthentication
, который установлен на "да".
PasswordAuthentication yes
Добавьте это в sshd_config
на машинах и повторите попытку. При этом должен появиться запрос на ввод пароля.
Другим решением будет взять содержимое ~/.ssh/id_rsa.pub
на HostA и добавить его в файл ~/.ssh/authorized_keys
на HostB
Теперь, когда у вас включена аутентификация паролем, вы можете установить авторизованные ключи с помощью этой команды:
ssh-copy-id HostB
Похоже, он все еще хочет, чтобы ты ввел пароль. Когда вы передаете SSH на HostB из HostA, он запрашивает пароль?
Если да, то вам нужно будет изменить ваш файл ssh_config
(/etc/ssh/sshd_config
на RHEL/Centos), чтобы иметь:
PasswordAuthentication no
Если PasswordAuthentication
установлено значение "да", то он всегда будет запрашивать пароль.
Вы упоминаете, что используете scp
внутри вашего скрипта для загрузки пакетов. Ваша проблема заключается в этом. Проблема в том, что, когда вы запускаете ssh в таком виде:
ssh user@host command
... для запущенного скрипта не выделяется псевдотерминал. scp
пытается запросить пароль, но для этого ему нужен псевдотерминал, поэтому без него вы получаете ошибку permission denied (которая возникает из-за неудачной попытки аутентификации пароля). Если вы используете ssh -t
, то псевдотерминал есть, и запрос пароля работает. Вам нужно выяснить, почему scp
запрашивает пароль при удаленном запуске, но не при запуске из интерактивной сессии ssh. Это уже другой вопрос.
Permission denied (publickey,password) error
Это не имеет ничего общего с разрешениями на скрипт. Вы не можете установить ssh-соединение. Попробуйте сначала получить оболочку на удаленной системе.
ssh -vv root@HostB
Кстати, обычно не рекомендуется разрешать прямой доступ к учетной записи root через ssh -, и ошибка, которую вы показали, является ожидаемой, если sshd настроен с PermitRootLogin=No. Правильный способ решить эту проблему — предоставить учетной записи соответствующие привилегии sudo и использовать ее для запуска команды.