В целях безопасности корневым пользователям обычно не разрешен доступ по ssh.
PermitRootLogin no # value in /etc/ssh/sshd_config
Приведенные выше настройки не позволяют войти в систему как root.Если вам «комфортно» с безопасностью вашей сети, вы можете рассмотреть возможность изменения этого параметра.Если вы когда-либо вносите изменения в конфигурацию sshd, вам необходимо перезапустить службу ssh:
sudo service sshd restart
Конечно, если вы хотите придерживаться общей мудрости, вы можете внести изменения в свои sudoersфайл (в соответствии с рекомендациями Chepner и Nic3500).Вот разумное изменение конфигурации:
Добавьте следующую строку в конец вашего файла / etc / sudoers:
#includedir /etc/sudoers.d
и добавьте следующие файлы в ваш / etc / sudoers.d directory:
cat /etc/sudoers.d/10_wheel:
%wheel ALL=(ALL) NOPASSWD: ALL
В приведенном выше примере настраивается sudo, чтобы разрешить доступ ко всем командам членам группы wheel без пароля.Вы можете изменить имя группы на группу, членом которой является ваш пользователь.
Вы можете определить свои группы, введя команду:
groups
Кроме того, чтобы избежать использованияиз sshpass вы можете развернуть открытые ключи ssh на удаленном хосте.Наконец, если вы вообще не хотите менять сервер, вы можете добиться того, что вы пытаетесь сделать с ожидаемым результатом.Если вы знакомы с программированием на Python, я рекомендую pexpect - я считаю, что это намного проще, чем ожидание на основе TCL, которое обычно обсуждается.