Dominando ssh uma vez por todas e sem falhas, como: Only console users are allowed ou xf86OpenConsole: Cannot open virtual console 7 (Permission denied) ou parse_vt_settings: Cannot open /dev/tty0 (Permission denied)

É sabido, que para se conectar via ssh basta executar o seguinte comando:

ssh usuário@ip_local

Onde o usuário é o da maquina remota, ao qual você deseja se conectar, e o ip local de rede da referida máquina.

Exemplo:

ssh felipe@192.168.0.40

No entanto, primeiro é necessário preparar o “terreno”. Suba o serviço sshd (ssh daemon)

sudo systemctl enable sshd && sudo systemctl start sshd

Depois é necessário checar o ip da maquina remota, podendo simplesmente usar o comando:

ip route show

Ou se utilizando do comando nmap.

Agora, um dos principais problemas de acesso, são: parse_vt_settings: Cannot open /dev/tty0 (Permission denied) ou então: xf86OpenConsole: Cannot open virtual console 7 (Permission denied)

Se a maquina que você deseja se conectar, não usa um Display Manager, como lightdm, gdm ou sddm. Se esta sobe o servidor X via xinit, startx ou sx. E ainda, se há um login automático para o tty. Então, simplesmente é necessário indicar o virtual console que você costuma subir o X, exemplo, tty1, e isso é bem simples de se fazer, basta incluir a seguinte variável $XDG_VTNR em seu ~/.zprofile ou ~/.bash_profile

Inclua a variável da seguinte forma, exatamente assim:

[ $XDG_VTNR ] && exec startx

Ou:

if [[ ! $DISPLAY && ${XDG_VTNR} == 1 ]]; then
    exec startx
fi

E quando ocorre o erro: Only console users are allowed ? Outra solução simples de se solucionar. Use o editor de sua preferência, eu já gosto do vim. Faça o seguinte:

sudo vim /etc/X11/Xwrapper.config

O arquivo será criado, pois geralmente inexiste, então, lógico, estará vazio. Inclua o seguinte, exatamente assim:

allowed_users = anybody

Para mais informações:

man Xorg.wrap

A configuração padrão do Xwrapper está como console, mesmo que não haja o arquivo Xwrapper.config, pois se trata de uma opção padrão, o que impede de abrir um programa de interface gráfica, como o firefox, via ssh, ou até mesmo mpv ou mplayer. Ao criar Xwrapper.config, como demonstrado acima e mudar para anybody, será possível executar esses programas via ssh, porém do seguinte modo, usando a variável DISPLAY, exemplo:

DISPLAY=:0 mpv video.mp4

Acessando o modo gráfico remotamente

Além do modo padrão, isto é, pelo terminal, temos a capacidade de acessar o modo gráfico durante o acesso remoto por meio do parâmetro -X. Portanto, podemos usar o nosso comando anterior da seguinte maneira:

ssh -X felipe@192.168.0.40

E para abrir um programa com interface gráfica, como o firefox, não esqueça da variável: DISPLAY=:0, como já elucidado.

Obs: Sabemos que acessar o Firefox no modo gráfico é pouco comum. Mas vale saber que também é possível acessar via modo gráfico.

Pontos de atenção

Lembrando que o Linux é case sensitive, por isso o X é maiúsculo.

É importante lembrar, também, que o programa está sendo exibido em minha tela, porém ele não está rodando no computador que estou usando para fazer o acesso remoto e sim na máquina nativa.

Por isso, quando usamos a opção -X, a rede costuma ficar mais lenta, pois os dados com as imagens aumentam o tráfego na rede.

Como desconectar do SSH após um período – Dominando o SSH

Está é uma dica de segurança, para que as conexões SSH não fiquem abertas sem o usuário interagir, podemos estipular um tempo de inatividade para que esta requisição seja desfeita.

É simples apenas editar um único arquivo dentro do servidor SSH.

sudo vim /etc/ssh/sshd_config

Localize as duas linhas:

#ClientAliveInterval 0
#ClientAliveCountMax 3

Edite-as descomentando e alterando para:

ClientAliveInterval 500
ClientAliveCountMax 0

Agora é só reiniciar o servidor SSH

systemctl restart sshd

Obs. o intervalo é lido em segundos ou seja 500 segundos equivale a 08:00 minutos.

Mudando a porta

Abra o arquivo de configuração do daemon SSH executando o seguinte comando:

vim /etc/ssh/sshd_config

Localize esta linha e altere:

# Port 22

Deixe um comentário

Crie um site como este com o WordPress.com
Comece agora