helio.loureiro.eng.br
  • Home
  • Unix
  • Linux
  • Blog
  • Python
  • Programação
  • Tudo
  • Suécia
  1. You are here:  
  2. Home
  3. Unix
  4. Linux

Os artigos mais lidos de 2025

  • Configurando traefik com ssh
  • Configurando o grafana alloy pra monitorar VMs
  • Acessos de robôs nos logs web
  • Configurando o teclado Keychron C3 no Linux
  • Parâmetros de compilação pra Go!

SSH para diferentes máquinas mas mesmo IP

Details
Written by: Helio Loureiro
Category: Linux
Published: August 19, 2010
Hits: 9666

Como trabalho com instalação de equipamentos, invariavelmente me vejo com o problema de conectar via SSH a um IP que já existe no meu ".ssh/known_hosts", mas com endereço MAC e hash de host diferentes (fingerprint). As redes internas dos equipamentos que trabalho estão sempre padronizadas em 172.16.0.0/21 e 172.16.8.0/21, com as placas sempre nos mesmos endereços internos, independente de instalação, mapeadas por posição física em relação aos magazine e slot.

 

Imediatamente o ssh identifica tal endereço como clonado e emite um alerta de erro e tentativa de ataque (man-in-the-middle, alguém no meio do caminho):


helio@musashi:BKP$ ssh -l telorb proc-m1-s1-0
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
72:78:1e:c2:69:f9:a1:55:a0:9c:35:c8:be:6a:40:fb.
Please contact your system administrator.
Add correct host key in /home/helio/.ssh/known_hosts to get rid of this message.
Offending key in /home/helio/.ssh/known_hosts:323
RSA host key for proc-m1-s1-0 has changed and you have requested strict checking.
Host key verification failed.

Nesse caso o destino, proc-m1-s1-0, é o processador do magazine 1, slot 1, interface de rede 0, cujo IP é 172.16.8.129. Já o mantenho em meu /etc/hosts de tanto que preciso usar, deixando o nome assim mais fácil (também uso o alias io1 para acessar) sem precisar decorar o IP.

Voltando ao assunto ssh, é possível remover a entrada no arquivo .ssh/known_hosts com o comando sed e a saída acima, que mostra que o mesmo está registrado na linha 323 desse arquivo (linha do "Offending key..."). Para isso basta:


sed -i "323d" .ssh/known_hosts 

Isso funciona corretamente no sed da GNU, mas não no dos BSDs. Para esses, uso o redirecionamento para outro arquivo:


cat .ssh/known_hosts | sed "323d" >.ssh/known_hosts.tmp
mv .ssh/known_hosts.tmp .ssh/known_hosts

O redirecionamento direto para o arquivo de origem costuma não funcionar muito bem com alguns BSDs e Solaris principalmente, apagando o mesmo. Então não economizo em comandos e faço como acima.

Essa é a solução chata, pois exige constantemente a alteração do arquivo .ssh/known_hosts. Sem falar que o mesmo problema também surge quando é realizado algum upgrade, onde geralmente o host de acesso tem seu sistema operacional re-instalado.

Então para evitar esse aborrecimento, existe uma forma de alterar as opções do ssh. Mas isso causa um problema de segurança nos acessos via SSH, pois todo host já autenticado anteriormente poderá ser direcionado para outra máquina sem demais avisos. Isso poderá fazer com que se digite a senha numa máquina qualquer. Mesmo se não for um ataque, existe o risco dos login e senha ficarem disponíveis em algum syslog do sistema contectado. Então... cuidado.


cat << EOF >> ~/.ssh/ssh_config
CheckHostIP=no
StrictHostKeyChecking=no
EOF

A opção "CheckHostIP" é a responsável por fazer a associação de host com fingerprint. Já a opção "StrictHostKeyChecking" cuida para que o arquivo .ssh/known_hosts seja atualizado a cada acesso ao host de destino. Alterando as duas opções para "no", eu evito ter de editar esse arquivo a cada acesso, mas abre uma brecha de segurança enorme em para mim.

Se o seu caso for igual ao meu, que utiliza um laptop para justamente esse tipo de trabalho, os riscos valerão a pena.  Na usabilidade x segurança, aqui ganhou o primeiro.

 

=-=-=-=-=
Powered by Blogilo

Laptop Uptime (parte 2)

Details
Written by: Helio Loureiro
Category: Linux
Published: June 18, 2010
Hits: 8052

Faz tanto tempo que não publico aqui, que agora vi um outro post sobre o uptime do meu laptop, que descrevi logo que mudei pra OpenSuse.

Fiquei tão surpreso de ficar mais de 40 dias sem desligar, que achei o máximo alcançar 46 dias.

O que posso dizer agora?


 01:37am up 72 days 11:38, 15 users, load average: 0.47, 0.41, 0.35 

Utilizando boot em HD externo com VirtualBox

Details
Written by: Helio Loureiro
Category: Linux
Published: May 10, 2010
Hits: 13854

Resolvi fazer um upgrade no Ubuntu instalado no meu HD Externo. Afinal o mesmo está com o release 8.10 instalado, mais que desatualizado. Pretendo chegar à versão 10.04, mas a forma de fazer isso já é outro assunto.

Tentei em vão colocar o HD externo, reconhecido como /dev/sdb no OpenSuse 11.2, como um HD, CDROM e FLOPPY para boot. Não consegui diretamente, já que o VirtualBox procurar por um dispositivo com extensão VMDK ou VDI.

Consegui adicionar como dispositivo USB, mas não teve nenhum efeito no boot, que simplesmente falhava (justamente por não ter partição bootável reconhecida).

Googleando pela Internet, encontrei um comando que associa o dispositivo que está em /dev com um arquivo VMDK:

{CODE} VBoxManage internalcommands createrawvmdk -filename /tmp/dev1.vmdk -rawdisk /dev/disk -register {/CODE}

Estava no Fórum do VirtualBox, com uma pergunta relacionada a minha. Era uma dica para MacOSX, mas funcionou perfeitamente para Linux. E deve funcionar também para outros *nix, como FreeBSD e Solaris.

O resultando para mim foi:

{CODE} helio@musashi:Virtualization$ VBoxManage internalcommands createrawvmdk -filename $PWD/Ubuntu-external-disk-sdb.vmdk -rawdisk /dev/sdb -register Sun VirtualBox Command Line Management Interface Version 3.1.6 (C) 2005-2010 Sun Microsystems, Inc. All rights reserved. RAW host disk access VMDK file /usr/local/tmp/Virtualization/Ubuntu-external-disk-sdb.vmdk created successfully. {/CODE}

Após isso, consegui ver a tela de boot (menu do Grub), mas o mesmo parava durante o carregamento do splashscreen.

Resolvi esse problema removendo o suporte à aceleração 3D, depois de uma olhada nos logs. Agora estou rumo ao Ubuntu 10.04!

Laptop uptime

Details
Written by: Helio Loureiro
Category: Linux
Published: November 20, 2009
Hits: 8343

Já fiz upgrade pra recém lançada versão 11.2. Mas estou gostando do uso do Suse, com zypper. Inclusive consegui uma grande conquista:


 7:02pm up 46 days 5:44, 12 users, load average: 0.58, 0.37, 0.16 

46 dias sem desligar o sistema...

Placa 3G Sony Ericsson PC300

Details
Written by: Helio Loureiro
Category: Linux
Published: July 31, 2009
Hits: 9255

Finalmente tive a oportunidade de pegar uma das placas 3G, com chip da Claro. Uma das vantagens da migração do FreeBSD pro Linux é justamente a facilidade no reconhecimento de novos hardwares. A placa foi identificada de imediato pelo meu OpenSuse 11:


usb usb7: configuration #1 chosen from 1 choice hub 7-0:1.0: USB hub found hub 7-0:1.0: 1 port detected 
usb usb7: New USB device found, idVendor=1d6b, idProduct=0001 
usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1 
usb usb7: Product: OHCI Host Controller 
usb usb7: Manufacturer: Linux 2.6.25.20-0.4-default ohci_hcd 
usb usb7: SerialNumber: 0000:03:00.1 
usb 6-1: new full speed USB device using ohci_hcd and address 2 
usb 6-1: configuration #2 chosen from 1 choice 
usb 6-1: New USB device found, idVendor=0fce, idProduct=d0b2 
usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 
usb 6-1: Product: Sony Ericsson PC300 
usb 6-1: Manufacturer: Sony Ericsson 
usb 6-1: SerialNumber: 3579310101884440 
cdc_acm 6-1:2.1: ttyACM0: USB ACM device 
cdc_acm 6-1:2.3: ttyACM1: USB ACM device 
usbcore: registered new interface driver cdc_acm 
drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters 
usb0: register 'cdc_ether' at usb-0000:03:00.0-1, CDC Ethernet Device, 02:80:37:0a:03:00 
usbcore: registered new interface driver cdc_ether 
usb0: no IPv6 routers present

O driver cdc_acm foi carregado automaticamente.

Para fazer a discagem, instalei o aplicativo wvdial, velho companheiro dos tempos de modem discado, à 14400 bps. Utilizando o wvdialconf, a placa 3G é automagicamente identificada:


Editing `/etc/wvdial.conf'.

Scanning your serial ports for a modem.

Modem Port Scan<*1>: S0   S1
ttyS2<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS2<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS2<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S3
ttyS4: No such device or address
Modem Port Scan<*1>: S4
ttyS5: No such device or address
Modem Port Scan<*1>: S5
ttyS6: No such device or address
Modem Port Scan<*1>: S6
ttyS7: No such device or address
Modem Port Scan<*1>: S7
WvModem<*1>: Cannot get information for serial port.
ttyACM0<*1>: ATQ0 V1 E1 -- OK
ttyACM0<*1>: ATQ0 V1 E1 Z -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1; -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0 -- OK
ttyACM0<*1>: Modem Identifier: ATI -- PC300
ttyACM0<*1>: Speed 4800: AT -- OK
ttyACM0<*1>: Speed 9600: AT -- OK
ttyACM0<*1>: Speed 19200: AT -- OK
ttyACM0<*1>: Speed 38400: AT -- OK
ttyACM0<*1>: Speed 57600: AT -- OK
ttyACM0<*1>: Speed 115200: AT -- OK
ttyACM0<*1>: Speed 230400: AT -- OK
ttyACM0<*1>: Speed 460800: AT -- OK
ttyACM0<*1>: Max speed is 460800; that should be safe.
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0 -- OK
WvModem<*1>: Cannot get information for serial port.
ttyACM1<*1>: ATQ0 V1 E1 -- OK
ttyACM1<*1>: ATQ0 V1 E1 Z -- OK
ttyACM1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1; -- OK
ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; -- OK
ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0 -- OK
ttyACM1<*1>: Modem Identifier: ATI -- PC300
ttyACM1<*1>: Speed 4800: AT -- OK
ttyACM1<*1>: Speed 9600: AT -- OK
ttyACM1<*1>: Speed 19200: AT -- OK
ttyACM1<*1>: Speed 38400: AT -- OK
ttyACM1<*1>: Speed 57600: AT -- OK
ttyACM1<*1>: Speed 115200: AT -- OK
ttyACM1<*1>: Speed 230400: AT -- OK
ttyACM1<*1>: Speed 460800: AT -- OK
ttyACM1<*1>: Max speed is 460800; that should be safe.
ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0 -- OK

Found an USB modem on /dev/ttyACM0.
Modem configuration written to /etc/wvdial.conf.
ttyACM0: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0"
ttyACM1: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0"


Esperava ver mais velocidade, mas 460k já é melhor que nada. Infelizmente a configuração padrão não funcionou de jeito nenhum. Vasculhando google afora, encontrei o link de configuração para outro tipo de modem, o E-226:

http://www.vivaolinux.com.br/artigo/Modem-Huawei-E226-Claro-3G/?pagina=2
 

Adaptei a mesma para o PC300, como mostra meu /etc/wvdial.conf abaixo:


[Dialer Defaults]
Carrier Check = off
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0
Password = claro
Ask Password = 0
Check Def Route = 1
Phone = *99***1#
Idle Seconds = 0
Modem Type = Analog Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = off
Dial Command = ATDT
Modem = /dev/ttyACM0
ISDN = 0
Username = claro

[Dialer claro3g]
Stupid Mode = on
Password = claro
Auto Reconnect = off
Username = claro
Phone = *99***1#

Também precisei editar o arquivo /etc/ppp/peers/wvdial para desabilitar as opções de compressão:


plugin passwordfd.so
noauth
name wvdial
debug
kdebug 9
record /tmp/pppd.dump
noccp
novj
novjccomp

Com isso consegui a conexão via 3G, bastando digitar wvdial.

--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0
ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
~[7f]}#@!}!}!} }9}#}%B#}%}(}"}'}"}"}&} } } } }%}&n;>}/qzY~
CONNECT
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Fri Jul 31 21:34:15 2009
--> Pid of pppd: 14211
--> Using interface ppp0
--> Authentication (CHAP) started
--> Authentication (CHAP) successful
--> local  IP address 189.94.168.217
--> remote IP address 10.64.64.64
--> Script /etc/ppp/ip-up run successful
--> Default route Ok.
--> Nameserver (DNS) Ok.
--> Connected... Press Ctrl-C to disconnect

Não é muito rápido, mas ajuda muito em locais sem opção de Internet, como quando estou dentro do site de clientes.

  1. Migrando para OpenSuse
  2. Linux em Palm Tungsten E
  3. SPAM via MSN - parte 2
  4. SPAM via MSN

Page 19 of 22

  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

Estatísticas

  • Users 2
  • Articles 509
  • Articles View Hits 3654524

Imagem aleatória