Banner do SSH não exibe acentos

Iniciado por brunoqkz, 26 de Julho de 2012, 10:06

tópico anterior - próximo tópico

brunoqkz

Configurei uma mensagem que deve aparecer assim que o usuário tenta fazer login no sistema, no entanto essa mensagem está aparecendo com erros, no lugar dos acentos estão sendo exibidos códigos. Como posso solucionar esse problema?  ???

zekkerj

Use os acentos em outra codificação. Você deve tê-los escrito em ISO-8859-1, o sistema os está exibindo em formato UTF-8 (ou vice-versa).
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

brunoqkz

Citação de: zekkerj online 27 de Julho de 2012, 12:42
Use os acentos em outra codificação. Você deve tê-los escrito em ISO-8859-1, o sistema os está exibindo em formato UTF-8 (ou vice-versa).

Suponho que seja isso. Como faço pra resolver?

O banner como escrevi (salvei como UTF-8 através do comando no vim :set fileencoding=utf-8 :wq):
********************************************************************************

     AVISO!

O ACESSO E A UTILIZAÇÃO DESTE SISTEMA PRIVADO
       É RESTRITO À USUÁRIOS AUTORIZADOS!

    INDIVÍDUOS NÃO AUTORIZADOS QUE TENTEM ACESSAR ESTE SISTEMA DE COMPUTADOR
      ESTARÃO SUJEITOS À AÇÕES JUDICIAIS!

      TODAS AS INFORMAÇÕES E COMUNICAÇÕES
  NESTE SISTEMA SÃO MONITORADAS E REGISTRADAS!

********************************************************************************


Como ele aparece:
********************************************************************************

     AVISO!

O ACESSO E A UTILIZA\303\207\303\203O DESTE SISTEMA PRIVADO
       \303\211 RESTRITO \303\200 USU\303\201RIOS AUTORIZADOS!

    INDIV\303\215DUOS N\303\203O AUTORIZADOS QUE TENTEM ACESSAR ESTE SISTEMA DE COMPUTADOR
      ESTAR\303\203O SUJEITOS \303\200 A\303\207\303\225ES JUDICIAIS!

      TODAS AS INFORMA\303\207\303\225ES E COMUNICA\303\207\303\225ES
  NESTE SISTEMA S\303\203O MONITORADAS E REGISTRADAS!

********************************************************************************

irtigor

Como você acessa? putty? Acho que por padrão ele não usa utf8.

zekkerj

Citação de: irtigor online 30 de Julho de 2012, 18:23
Como você acessa? putty? Acho que por padrão ele não usa utf8.
Eu olhei na máquina que estou usando agora, o padrão é ISO-8859-1.

Mas achei interessante os caracteres terem saído como \0xx em vez de algo como Â$ ou coisa parecida. Esse arquivo que vc gravou é o "/etc/issue", mesmo?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

brunoqkz

Citação de: irtigor online 30 de Julho de 2012, 18:23
Como você acessa? putty? Acho que por padrão ele não usa utf8.

Não, tentei acessar pelo próprio sistema para testar. O putty realmente tem que alterar o padrão porque ele não usa UTF-8, você está certo.
Citação de: zekkerj online 30 de Julho de 2012, 21:17
Citação de: irtigor online 30 de Julho de 2012, 18:23
Como você acessa? putty? Acho que por padrão ele não usa utf8.
Eu olhei na máquina que estou usando agora, o padrão é ISO-8859-1.

Mas achei interessante os caracteres terem saído como \0xx em vez de algo como Â$ ou coisa parecida. Esse arquivo que vc gravou é o "/etc/issue", mesmo?

Eu fiz um arquivo e apontei ele na configuração do SSH.

zekkerj

Apontou ele na configuração, qual configuração?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

brunoqkz

Citação de: zekkerj online 31 de Julho de 2012, 11:11
Apontou ele na configuração, qual configuração?

/etc/ssh/sshd_config

Banner "/home/usuário/banner"

irtigor

Por experiencia, digo que no vim fileencoding=utf-8 não é o bastante, quando o arquivo já está danificado. Isso porque ele só dita a transformação memória → disco. Na época converter também não resolveu, acabei digitando de novo (ctrl+c ctrl+v pode carregar o problema).

Outra coisa que já me fez perder tempo em arquivos unicode, é o BOM. Em utf8, ele não é estritamente necessário, eu sempre prefiro não usá-lo, e misturar utf8 com BOM e sem BOM pode dar resultados ruins, dependendo do visualizador.

brunoqkz

Citação de: irtigor online 31 de Julho de 2012, 14:09
Por experiencia, digo que no vim fileencoding=utf-8 não é o bastante, quando o arquivo já está danificado. Isso porque ele só dita a transformação memória → disco. Na época converter também não resolveu, acabei digitando de novo (ctrl+c ctrl+v pode carregar o problema).

Outra coisa que já me fez perder tempo em arquivos unicode, é o BOM. Em utf8, ele não é estritamente necessário, eu sempre prefiro não usá-lo, e misturar utf8 com BOM e sem BOM pode dar resultados ruins, dependendo do visualizador.

eu criei um arquivo em UTF-8 (e outras codificações), mesmo assim não consigo de jeito nenhum fazer com que seja exibido corretamente! :|

irtigor

O quê você está usando pra visualizar? Como está configurado? Assumindo que o arquivo está correto, o erro deve estar ai.

brunoqkz

Citação de: irtigor online 01 de Agosto de 2012, 13:07
O quê você está usando pra visualizar? Como está configurado? Assumindo que o arquivo está correto, o erro deve estar ai.

Sistema:
$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"


Versão SSH:
$ dpkg -s ssh
Package: ssh
Status: install ok installed
Priority: extra
Section: net
Installed-Size: 29
Maintainer: Colin Watson <cjwatson@ubuntu.com>
Architecture: all
Source: openssh
Version: 1:5.9p1-5ubuntu1
Depends: openssh-client, openssh-server
Description: secure shell client and server (metapackage)
This metapackage is a convenient way to install both the OpenSSH client
and the OpenSSH server. It provides nothing in and of itself, so you
may remove it if nothing depends on it.
Homepage: http://www.openssh.org/
Original-Maintainer: Debian OpenSSH Maintainers <debian-ssh@lists.debian.org>


Configuração cliente SSH:
$ cat /etc/ssh/ssh_config

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no


Servidor SSH:
$ cat /etc/ssh/sshd_config
# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 443
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
Banner "/etc/utf"

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes


Arquivo banner:
$ cat /etc/utf
atenção!


Codificação arquivo banner:
$ file /etc/utf
/etc/utf: UTF-8 Unicode text


Como ele aparece quando tento conectar pelo terminal:
$ ssh -p 443 localhost
aten\303\247\303\243o!



irtigor

Qual terminal? Um emulador: gnome-terminal, xterm... rxvt-unicode? Teste em uns dois.
echo $LANG? Como você digitou? Teste: sudo tee /etc/utf <<< Atenção!

brunoqkz

Citação de: irtigor online 01 de Agosto de 2012, 15:47
Qual terminal? Um emulador: gnome-terminal, xterm... rxvt-unicode? Teste em uns dois.
echo $LANG? Como você digitou? Teste: sudo tee /etc/utf <<< Atenção!

xterm, gnome-terminal e putty.. mesma coisa..

$ echo $LANG
pt_BR.UTF-8


abri o gedit, digitei o texto e fui em Arquivo > Salvar como... > Codificação de caracteres: Localidade atual (UTF-8)

executei o comando que você sugeriu e o problema persiste  :-\


zekkerj

Bruno, uma pergunta... alguma vez vc já conseguiu fazer esse procedimento, ou é a primeira vez que faz?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D