x11vnc через туннель SSH - sudo: отсутствует tty и не задана программа askpass
Я пытаюсь настроить одноразовый туннель SSH, который создает экземпляр x11vnc на экране входа в систему.
ssh -f -t -L 5900:localhost:5900 user@10.1.10.1 'sudo /usr/bin/x11vnc -safer -once -nopw -display :0 -auth /home/user/.Xauthority'
/ и т.д. /sudoers:
user@myhost:~$ sudo cat /etc/sudoers
[sudo] password for user:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/
# instead of directly modifying this file.
#
Defaults:user !requiretty
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
user ALL=(ALL:ALL) NOPASSWD: /usr/bin/x11vnc
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
Конечный результат таков:
Pseudo-terminal will not be allocated because stdin is not a terminal.
bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 5900
Could not request local forwarding.
ebz@icarus:~ $ sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: 3 incorrect password attempts
Это говорит bind: Address already in use
, но я чувствую, что это не так и не связано
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 10.1.10.1:domain *:* LISTEN -
tcp 0 0 *:ssh *:* LISTEN -
tcp6 0 0 xxxx::xxxx:xxxx::domain [::]:* LISTEN -
tcp6 0 0 [::]:ssh [::]:* LISTEN -
Можно с уверенностью сказать, что мы можем игнорировать это сообщение. Кроме того, удаление записи sudo для пользователя также не имеет никакого эффекта.
Спасибо, парни. Приветствия.
PS Решение здесь - TTY отсутствует при запуске команд через SSH.. - не работает:(
Кроме того, примечание: "ЭТО СЕРВЕР В СВЯЗИ" (ПРЕДПОСЫЛКИ ОТНОСИТЕЛЬНО ОСУЩЕСТВЛЕНИЯ CUSTOM LXC VMM ДЛЯ OPENNEBULA). Пожалуйста, НЕ отмечайте это не по теме, так как это допустимый вариант использования приложения.
ОБНОВИТЬ
плюс -tt
минус -f -t
переключатели:
$ ssh -tt -L 5900:localhost:5900 user@10.1.10.1 'sudo /usr/bin/x11vnc -safer -once -nopw -display :0 -auth /home/user/.Xauthority'
bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 5900
Could not request local forwarding.
[sudo] password for user:
Но это запрашивает пароль? Это работает после того, как я ввел пароль, хотя.
1 ответ
Удостоверься что user
не входит ни в одну из групп admin
или же sudo
или поставить линию sudoers для user
после групповых строк.
Со страницы руководства sudoers
Когда несколько записей совпадают для пользователя, они применяются по порядку. При наличии нескольких совпадений используется последнее совпадение (которое не обязательно является наиболее конкретным совпадением).