x11vnc através do túnel SSH - sudo: no tty presente e nenhum programa askpass especificado

2

Estou tentando configurar um túnel SSH único que instancia x11vnc em uma exibição conectada.

ssh -f -t -L 5900:localhost:5900 [email protected] '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

O resultado final é este:

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

Ele diz bind: Address already in use , mas eu sinto que isso não é verdade e não está relacionado:

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      -               

É seguro dizer que podemos ignorar essa mensagem. Além disso, remover a entrada sudo para o usuário também não tem efeito.

Obrigado, pessoal. Felicidades.

P.S. A solução aqui - Nenhum TTY presente ao executar comandos sobre SSH .. - não funcionou: (

Além disso, uma nota secundária, ISTO É RELATIVA AO SERVIDOR (ANTECEDENTES SOBRE UMA IMPLEMENTAÇÃO DA VMEN LXC PERSONALIZADA PARA A OPENNEBULA). Por favor, NÃO marque este assunto fora do tópico, pois este é um caso de uso de aplicativo válido.

UPDATE

Mais -tt , menos -f -t switches:

$ ssh -tt -L 5900:localhost:5900 [email protected] '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: 

Mas pede uma senha? Funciona depois que eu digito a senha.

    
por Adam Eberlin 11.08.2012 / 08:38

1 resposta

2

Verifique se user não está em nenhum dos grupos admin ou sudo ou insira a linha sudoers para user depois das linhas do grupo.

Da página de manual do sudoers

When multiple entries match for a user, they are applied in order. Where there are multiple matches, the last match is used (which is not necessarily the most specific match).

    
por 11.08.2012 / 09:41

Tags