Я пытаюсь настроить одноразовый туннель 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'
/ etc / 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 для пользователя также не имеет никакого эффекта.
Спасибо, парни. Ура.
P.S. Решение здесь - Нет TTY при выполнении команд через SSH .. - не сработало :(
Кроме того, примечание: ЭТО ОТНОСИТСЯ К СЕРВЕРУ (ПРЕДЫСТОРИЯ ОТНОСИТЕЛЬНО ПОЛЬЗОВАТЕЛЬСКОЙ РЕАЛИЗАЦИИ 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:
А пароль запрашивает? Но он работает после ввода пароля.
Удостоверься что user
не входит ни в одну из групп admin
или sudo
или поместите строку sudoers для user
после групповых строк.
На странице руководства sudoers
Когда для пользователя совпадают несколько записей, они применяются по порядку. Если есть несколько совпадений, используется последнее совпадение (которое не обязательно является самым точным совпадением).