DICAS UNIX BRASIL

Como limpar a fila de emails do Exim

Esta dica é bem legal para quem trabalha com hospedagem e em geral, tem como seu MTA o exim.

O exim é o MTA oficial do CPANEL, que é o mais utilizado pelos provedores de hospedagem de páginas no mundo inteiro.

Bem, está com a fila do seu Exim cheia e precisa de limpar ? Segue o comando abaixo que pode lhe ajudar demais : 

exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | bash

Outro comando interessante que também pode lhe ajudar demais é o :

exim -bp | exiqgrep -i | xargs exim -Mrm

Diretinho daqui

The english version of this post is here.

Rodando o SSH em múltiplas portas

Esta dica é bem interessante, principalmente para quem fica por aí rodando e precisa sempre estar acessando o ssh em clientes.
Já havia visto isto aplicado pelo pessoal da SDF ( Freeshell.org ) e sempre tive a curiosidade de testar em produção.
Como peguei novamente uma VPS ( agora estou hospedando esta VPS na própria SDF ), resolvi que era o momento de testar esta opção ali.

Como peguei novamente uma VPS ( agora estou hospedando esta VPS na própria SDF ), resolvi que era o momento de testar esta opção ali.

Bom, por padrão o SSH só vai ouvir na porta 22 de todas os devices de rede disponíveis no seu servidor. 

Assim, para ativar mais outra porta, procure pela seguinte linha no arquivo /etc/ssh/sshd_config : 

#Port 22

Agora, vamos colocar por exemplo o SSH ouvindo na porta padrão, 22 , na porta 443 e na 4568 . 

Port 22
Port 443
Port 4568

Pronto, salve o arquivo e reinicie o ssh : 

# /etc/init.d/sshd restart 

Pronto, agora é só liberar estas portas no firewall e tentar o acesso via seu cliente ssh : 

# ssh usuario@seuservidor.com -p 443 

Achando pacotes orfãos em sistemas baseados em RPM

Se você usa uma distro que é baseada em RPM, vira e mexe tem que ir em alguns pacotes para descobrir porque eles estão instalados na sua máquina.
Estes pacotes perdidos normalmente são chamados de “orphaned packages”, ou pacotes orfãos.
Um pacote orfão é aquele que não é mais requerido para o sistema funcionar, ou qualquer outro pacote instalado no sistema ou até, nem tem mais uso.

Para pegar uma lista destes pacotes perdidos na sua máquina, é só instalar o pacote rpmorphan, que faz o serviço de listar isto para você, sem muito trabalho manual.

# yum install rpmorphan

E ao instalar, é só rodar o mesmo e pegar os pacotes que estão perdidos na sua máquina.

# rpmorphan

libdwarf

libertas-usb8388-firmware
libsane-hpaio

Para ter mais informações sobre o que o rpmorphan está fazendo é só utilizar a opção “-verbose”.
Para mim, já virou ferramenta indispensável.
Acredito que após o uso, vai virar para vocês também.

Dica legal direto daqui.

Limpando o histórico do Totem

Esta eu descobri hoje quando tentava limpar o histórico de vídeos tocados no Totem.

Para efetuar isto é bem fácil. 

Delete o arquivo .recently-used.xbel e pronto, seu totem estará com os últimos arquivos tocados vazio.

Ou seja :

$ rm ~/.recently-used.xbel

Mão na roda não ? Funcionou no Fedora 14, não garanto funcionar para outras distribuições. 

 

Tunelando uma conexão ssh

Uma coisa interessante no ssh é a possibilidade de tunelar uma conexão.

E como fazer isto ? Exemplo, preciso acessar uma máquinahttp://aqui.ataliba.eti.br/maquina remota que somente fornece conexão a mesma a partir do host ssh.ataliba.eti.br.

Aí, do meu desktophttp://aqui.ataliba.eti.br/maquinaeu executo o seguinte comando :

$ ssh -R 4245:ssh.ataliba.eti.br:22 usuario@maquinaremota.com

Ou seja, o comando acima quer dizer que eu conectei na porta 4245 da máquina ssh.ataliba.eti.br que por sua vez, tunelou minha conexãohttp://aqui.ataliba.eti.br/maquina até o servidor maquinaremota.com na porta 22 .

Uma mão na roda quando você precisa estar acessando servidores de vários lugares diferentes que em geral não possuem ip fixo, ou até, não tem seu ip liberado no firewallhttp://aqui.ataliba.eti.br/maquinado local onde você precisa conectar.

Se você tiver um servidor corporativohttp://aqui.ataliba.eti.br/maquina que possa lhe fornecer este tunelamento, ótimo. Se não tiver, você pode contratar um VPS para este fim, ou até mesmo, usar uma conta MetaArpa da SDF ( freeshell.org ).

Eu pessoalmente gosto muito da idéia da SDF, que praticamente sempre usei.

Entretando, se você atende locais com políticas de segurança bem rígidas o uso de um VPS é uma opção bem interessante, principalmente porque o custo mensal destas máquinas é bem em conta.

Criando aliases para suas conexões

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE

DICA UNIX[bb]
Dica Unix 3011- 5 de março de 2010
http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Criando aliases para suas conexões

Para um acesso mais rápido a sistemas remotos  crie aliases para suas conexões telnet, ssh, ftp ou rlogin para ganhar tempo.

alias srocket 'ssh -l myaccount rocket.foo.bar.com'
alias
sfrocket 'sftp -l myaccount rocket.foo.bar.com'
alias
trocket 'telnet rocket.foo.bar.com'
alias
rrocket 'rlogin -l myaccount rocket.foo.bar.com'

----------------------------------------

Para assinar: http://www.ugu.com/sui/ugu/show?tip.subscribe
Para sair: http://www.ugu.com/sui/ugu/show?tip.unsubscribe
Para enviar uma dica: http://www.ugu.com/sui/ugu/show?tip.today
======================================
DECLARAÇÃO: TODAS AS DICAS DE UNIX SÃO PROPIEDADE DA UNIX GURU UNIVERSE E NÃO SÃO PARA SER VENDIDAS, IMPRESSAS OU USADAS SEM O CONSENTIMENTO POR ESCRITO DA UNIX GURU UNIVERSE.
TODAS AS DICAS SÃO "USADAS POR SEU PROPRIO RISCO". UGU ADVERTE PARA
TESTAR TODAS AS DICAS EM UM AMBIENTE QUE NÃO ESTEJA EM PRODUÇÃO. Unix Guru Universe - www.ugu.com - tips@ugu.com - Copyright 1994-2010
======================================

Outro modo de pegar o seu ip

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE

DICA UNIX[bb]
Dica Unix 2969 - 4 de março de 2010
http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Outro modo de pegar o seu ip

Uma dica anterior listava como pegar o ip do seu sistema usando a saída do ifconfig. O grande problema é que a saída do ifconfig é diferente nos diversos sabores de Unix.

Para Solaris use:

ifconfig -a | grep "inet" |  grep -v "127.0.0.1" | awk '{print $2;}'

Para HP-UX use:

ifconfig foo | grep "inet" | awk '{print $2;}' 

Onde a interface foo é algo como lan0, lan1 etc. 

Esta dica é generosamente suportada por: gromano@staterail.nsw.gov.au 

 

----------------------------------------

Para assinar: http://www.ugu.com/sui/ugu/show?tip.subscribe
Para sair: http://www.ugu.com/sui/ugu/show?tip.unsubscribe
Para enviar uma dica: http://www.ugu.com/sui/ugu/show?tip.today
======================================
DECLARAÇÃO: TODAS AS DICAS DE UNIX SÃO PROPIEDADE DA UNIX GURU UNIVERSE E NÃO SÃO PARA SER VENDIDAS, IMPRESSAS OU USADAS SEM O CONSENTIMENTO POR ESCRITO DA UNIX GURU UNIVERSE.
TODAS AS DICAS SÃO "USADAS POR SEU PROPRIO RISCO". UGU ADVERTE PARA
TESTAR TODAS AS DICAS EM UM AMBIENTE QUE NÃO ESTEJA EM PRODUÇÃO. Unix Guru Universe - www.ugu.com - tips@ugu.com - Copyright 1994-2008
======================================

Método para resolver o erro do ssh "REMOTE HOST IDENTIFICATION CHANGED"

Um dos erros mais chatos para qualquer SysAdmin ou pessoa que acessa via ssh diversos servidores é o erro de "REMOTE HOST IDENTIFICATION CHANGE".

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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
b4:7e:cd:28:9d:ec:d2:37:96:67:14:8b:25:bb:c6:eb.
Please contact your system administrator.
Add correct host key in /home/ataliba/.ssh/known_hosts to get rid of this message.
Offending key in /home/ataliba/.ssh/known_hosts:1
SA host key for 192.168.0.76 has changed and you have requested strict checking.
Host key verification failed.

			

Este erro normalmente acontece quando a chave pública que está no seu arquivo know_hosts não bate com a chave do servidor ( criada quando o ssh sobe pela primeira vez no boot do servidor ).

Há três métodos aceitáveis para se atacar este problema. Um, é abrir o arquivo know_hosts e deletar a linha que contém o ip ou host que você está tentando acessar. 

O outro, é utilizar algum script que faça esta limpeza. Exemplo, é o que está neste link aqui, e que eu inclusive cito abaixo. 

			#!/bin/bash
			DATA="`ssh $1 echo 2>&1|grep known_hosts:`"
			if [[ "$DATA" =~ ([^ ]+):([0-9]+) ]]
			then
			echo "SSH KeyCleaner v. 0.1";
			echo -n "Delete key from line"
			echo -n " ${BASH_REMATCH[2]} in"
			echo -n " ${BASH_REMATCH[1]}? "
			read -n1 -p"(y/n) : " A
			echo
			if [ "$A" == "y" ]
			then
			sed -i " ${BASH_REMATCH[2]}d"  ${BASH_REMATCH[1]}
			echo "Cleaning"
			fi;
			else
			echo "Bad output from ssh command. Sorry.";
			fi;
			
			

Para utilzar é bem fácil, é só colocar o conteúdo acima em um arquivo com o nome ssh_keyclean.sh  e dar permissão de execução para o mesmo “chmod +x /usr/bin/ssh_keyclean.sh”.

Assim que ele tiver permissão de execução, o uso é o explicado abaixo: 

$ ssh_keyclean.sh <ip_address>

Exemplo:

$ ssh_keyclean.sh 192.168.1.51

Ele roda o comando ssh, fazendo um grep da linha que contém "know_hosts". Ele usa uma função de regex interna do próprio bash para extrair duas variáveis: filename e linenumber. Após perguntar se você está certo disto, e se você realmente tiver certeza disto, ele usa o sed para eliminar a linha que foi reportada pelo ssh no arquivo ~/.ssh/know_hosts . 

E finalmente, o próprio ssh atualmente já faz isto para você.

Se quiser, é só usar o comando : ssh-keygen -R ip ou hostname e pronto, você está com tudo prontinho.

Ele elimina a linha que contém a chave que não bate com o servidor e na próxima vez que você logar no mesmo, ele irá lhe perguntar se quer guardar a chave no arquivo know_hosts. 

São os métodos que eu conheço para resolver este problema chato. Até hoje, não vi nenhum outro :-) 

Ah, e para resolver o último problema, do uso do ssh-keygen, segue um script que pode lhe ajudar para caramba :-) 

			#!/bin/sh
			if [ $# -lt 1 ]; then
			echo "Use: " 
			echo "    $0 ip "
			echo "    $0 hostname"
			exit 1
			fi
			echo "Cleaning your $HOME/.ssh/know_hosts"
			ssh-keygen -R $1
			
			

Testando o DNS reverso de seu IP em linha de comando

Bom, esta é uma dica que a maioria do pessoal já deve conhecer, mas deve ser útil para alguém.

As dicas abaixo podem ser executadas tanto no Windows quanto no Linux. São dois comandos nativos dos dois sistemas operacionais que podem lhe fornecer e sem dúvida, lhe ajudar quando as famosas operadoras lhe dizem que o reverso já está configurado. 

Bom, há dois comandos que podem lhe ajudar muito no teste do reverso, que são o famoso nslookup e o comando host

O comando host é bem fácil. Peguei para estes testes o ip do host  aspmx.l.google.com , que por acaso é o mx do meu domínio.

Assim, tendo o ip em mãos ( 74.125.45.27 ) é só usar o comando host : 

$ host 74.125.45.27
27.45.125.74.in-addr.arpa domain name pointer yx-in-f27.1e100.net.

O resultado, como pode ser visto, diz que o reverso do domínio aponta para o host  yx-in-f27.1e100.net .

Se este resultado ainda não lhe for satisfatório, é só usar o comando nslookup. 

$ nslookup
> 74.125.45.27
Server:        10.10.255.1
Address:    10.10.255.1#53

Non-authoritative answer:
27.45.125.74.in-addr.arpa    name = yx-in-f27.1e100.net.

Que por um acaso, lhe forneceu o mesmo resultado

Mão na roda, não ? 

 

Pegando as informações sobre a sua memória via linha de comando

Precisa pegar a frequência da memória de um servidor ou Desktop sem ter que abrir a máquina ?

Facinho ... só usar o famoso comando dmidecode. Com a saída do comando é muito grande, utilize o famoso less: 

# dmidecode | less 

E dentro da saída procure por DDR. Lá você vai achar os seguintes dados, caso lógico, sua memória forneça este tipo de informação : 

Memory Device
Array Handle: 0x002E
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: DDR2
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)
Manufacturer: Manufacturer0
Serial Number: SerNum0
Asset Tag: AssetTagNum0
Part Number: PartNum0

E pronto, você já tem as informações desejadas da sua memória. Mão na roda né ?

Páginas