Acessar maquina via ssh sem digitar senha

20, agosto, 2009 Cleiton Souza Sem comentários

opensshAcessar uma maquina Linux via ssh sem a necessidade de digitar senha é muito útil para automatização de algum procedimento que precisa ser feito periodicamente, como por exemplo, fazer backup, limpar um arquivo de log, copiar arquivos, limpar o cachê do squid, atualizar uma regra no firewall, fazer uma manutenção no banco de dados e etc, e este tutorial trata justamente sobre isto, como acessar um maquina ou servidor via ssh sem a necessidade de digitar senha.

Basta seguir os passos abaixo:

1.    Vai ser necessário criar um par de chaves, uma publica e uma privada através do comando abaixo

[root@SERVER01 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa-server01
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa-server01.
Your public key has been saved in /root/.ssh/id_rsa-server01.pub.
The key fingerprint is:
cd:51:1a:11:fa:2f:13:72:75:ef:d3:4e:da:34:ac:67
root@SERVER01

2.    Copie o arquivo id_rsa-server01.pub para a maquina que você quer acessar através de um pen-drive, rede ou atravez do comando abaixo:

[root@SERVER01 ~]# scp /root/.ssh/id_rsa-server01.pub root@/root
root@x.x.x.x’s password:
id_rsa-server01.pub                                100%  410     0.4KB/s   00:00
[root@SVLMFW01 ~]#

3.    Acesse a maquina via ssh usando o commando

[root@SERVER01 ~]# ssh root@

4.    Agora, já na maquina-destino, digite o comando

[rootFIREWALL01 ~]# cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

5.    Agora saia da maquina e tente acessa-la novamente e bingo! Deve ser acessado sem pedir senha.

[root@SERVER01 ~]# ssh root@X.X.X.X
Last login: Thu Aug 20 17:00:27 2009 from X.X.X.X
[root@FIREWALL01 ~]#

6. Pronto!


Categories: Tecnologia, tutoriais
Tags: , ,

Enviar notificação do nagios direto para o celular via SMS

18, agosto, 2009 Cleiton Souza 6 comentários

mensagem via smsSem dúvida alguma, um ambiente de TI monitorado é muito importante para manter a disponibildade dos serviços de email, sistemas, internet e etc., e em caso de problemas poder rapidamente resolve-los, mas como ser notificado de um problema no sistema em qualquer lugar? uma alternativa é ser avisado direto no celular via SMS, e é sobre isso que trata este tutorial.

Para envio de mensagem via SMS você deve ter um gateway de SMS na sua rede, ou contratar o serviço de um terceiro. Vamos tratar neste tutorial a segunda opção.

Primeiro você deve contratar o serviço de gateway de SMS, eu uso o serviço da Human Mobile ( http://www.human.com.br/sms ) , você pode criar uma conta gratuita para testar o sistema.

Criado a conta, basta seguir os passos abaixo

1. Instalar os modulos do PERL usados pelos script de envio de SMS

perl -MCPAN -e ‘install URI::Escape’
perl -MCPAN -e ‘install LWP::Simple’

obs. Caso seja a primeira vez que esteja instalando um modulo perl, ele vai fazer algumas perguntas, basta dar as respostas padrão.

2. Faça o download do script sendsms.pl na seção de downloads (http://meutecnico.com/blog/downloads) descomprima com o comando unzip e coloque o script em /usr/local/nagios/libexec

3. De permissão de execução do arquivo

chmod +x /usr/local/nagios/libexec sendsms.pl

4. Dentro de /usr/local/nagios/libexec faça um teste de envio de mensagem usando o comando abaixo, alterando para o numero do seu celular, note que sempre o numero segue o código do pais+DDD+numero

./sendsms.pl 551199999999 "Mensagem de teste…"

Eu recebo as mensagens em no máximo 1 minuto, caso demorar muito e acabar não recebendo a mensagem, verifique se sua operadora de telefonia nao esta com problema e também verifique se foi feito corretamente os passos 1 e 3

5. Crie o comando no nagios conforme o exemplo abaixo

define command{
command_name    notify-by-sms
command_line    $USER1$/sendsms.pl $CONTACTPAGER$ "*Monitoramento* notif.: $NOTIFICATIONTYPE$ Svc: $SERVICEDESC$ Equip.: $HOSTNAME$ Descr: $HOSTALIAS IP: $HOSTADDRESS$ Estado: $SERVICESTATE$ Data/Hora: $DATE$ / $TIME$ info: $SERVICEOUTPUT$"
}

define command{
command_name    host-notify-by-sms
command_line    $USER1$/sendsms.pl $CONTACTPAGER$ "*Monitoramento* $NOTIFICATIONTYPE$  equipamento: $HOSTNAME$ – $HOSTALIAS$ IP: $HOSTADDRESS$ Data/Hora: $DATE$ / $TIME$ info: $SERVICEOUTPUT$"
}

6. No arquivo de contatos do nagios, adicione o celular (seguindo o padrão código do pais+DDD+numero) e adicione o comando para o contato receber sms conforme exemplo abaixo

define contact{
contact_name                    Cleiton_Souza
alias                                   admin
contactgroups                   Administradores, Supervisors
host_notification_period        24×7
service_notification_period     24×7
host_notification_options       d,u,r,f,s
service_notification_options    w,c,r,f,s
host_notification_commands host-notify-by-email,  host-notify-by-sms
service_notification_commands   notify-by-email, notify-by-sms
email                           cleitonsouza01@gmail.com
pager                           551199999999
}

5. Pronto! Agora você vai ser sempre notificado por sms.


Como monitorar banco de dados oracle usando o nagios

14, agosto, 2009 Cleiton Souza 6 comentários

oracleExiste varias formas diferentes de monitorar um banco de dados Oracle através do nagios, inclusive o pacote do nagios vem com um comando “ check_oracle ”, mas depois de muito esforço em tentar usá-lo acabei desistindo e resolvi criar um script próprio para fazer isso.

Desenvolvi um script muito simples escrito em bash, ele apenas tenta se conectar no banco, se conectar ele retorna uma mensagem “Ok! Banco Oracle esta on-line” caso contrario retorna uma mensagem de erro “Erro! Banco Oracle esta desligado”. Mas para o script funcionar ele necessita de um pacote de binários da própria Oracle que pode ser baixado gratuitamente no link que esta no passo 2

Apesar de simples, o script funciona direitinho e tenho monitorado os meus banco com ele satisfatoriamente, caso alguém melhore o script, peço para que poste no blog para que todos possam utilizar.

No meu servidor de monitoramento, estou usando Linux CentOS 5.2, nagios 3.06 e centreon 2.1

Abaixo o passo-a-passo:

1.    Crie o diretório /usr/lib/instantclient

2.    Vá no site da Oracle ( http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html ) e baixe os pacotes abaixo, no formato zip:
-Instant Client Package – Basic
-Instant Client Package – SQL*Plus
-Instant Client Package – SDK

3.    Extraia todos pacotes baixados em /usr/lib/instantclient , usando o unzip não deixe os arquivos em diretórios separados, se atente para que todos os arquivos fiquem em /usr/lib/instantclient

4.    Crie o tnsnames.ora com os paramentros do seu banco no diretório /usr/lib/instantclient

5.    Baixe o script check_oracle.sh e arquivo de dados check_oracle-dados em http://meutecnico.com/blog/downloads

6.    Mova os arquivos check_oracle.sh e check_oracle-dados para /usr/local/nagios/libexec/

7.    Vá para o diretório /usr/local/nagios/libexec/ e digite o comando

chmod +x check_oracle.sh

8.  Edite o arquivo check_oracle-dados e altere a linha usuario/senha@<alias>.<dominio> com os dados do seu banco, só uma dica, o alias e dominio fica no arquivo tnsnames.ora

9.    Teste se esta tudo ok digitando o camando ./check_oracle.sh , caso de algum erro, revise os passos anteriores

10.    Crie um novo comando no arquivo de comando do seu nagios, abaixo exemplo

define command{
command_name                  check_oracle-sh
command_line                    $USER1$/check_oracle.sh
}

11.    Adicione o check a algum host, no arquivo de check de host do seu nagios exemplo:

define service{
host_name                        SRV-ORACLE-01
service_description             Oracle
use                                  generic-service
check_command                 check_oracle-sh
}

12.    Pronto!

Caso funcione ou não, poste nos comentarios para ajudar o pessoal. Obrigado!


Windows Mobile, ActiveSync e firewall Zone Alarm

ActiveSyncJá sou usuário a algum tempo do firewall ZoneAlarm, eu escolhi utilizar este firewall a alguns anos atrás e desde então, todas as maquinas onde utilizo o sistema operacional Windows, eu instalo o dito cujo.

No mês passado, reinstalei o sistema no meu notebook e resolvido instalar a nova versão do Zone Alarm e ao tentar sincronizar o meu smartphone Qtek rodando Windows Mobile 5 deu uma mesagem de erro e eu não conseguia de jeito nenhum.

Rodando o programa de diagnostico de erro do Active Sync 4.5 ele deu algumas sugestões de possíveis causa de erro e uma das causas seria estar utilizando o Zone Alarm, fui direcionado para um site da Microsoft.

Para resover este problema executei um procedimento que encontrei no site da microsoft, ao qual descrevo o passo-a-passo abaixo:

1. Abra o Zone Alarm
2. Na janela principal, clique em “Program Control” que esta a esquerda da tela e depois clique em Add conforme mostra a imagem abaixo
Allow ActiveSync ports in Zone Alarm Security Suite Step 2
3. Já até a pasta de instalação do ActiveSync, para mim a pasta é C:\Arquivos de Programas\Microsoft ActiveSync\ e selecione o arquivo WCESMgr. Clique em Open.
Allow ActiveSync ports in Zone Alarm Security Suite Step 3
4. Você vai ser avisado que uma nova aplicação foi adicionado no “Program Control list” do Zone Alarm. Configure a aplicação do Active Sync dentro do “Program Control list” os valores abaixo.Trust Level = Trusted, Access = Trusted Internet both checked, Server = Trusted Internet both checked, Send Mail = checked
Allow ActiveSync ports in Zone Alarm Security Suite Step 4
5. Repita os passos 4 e 5 para adicionar a as outras aplicações do ActiveSync (arquivos abaixo)

  • Wcescomm.exe
  • Rapimgr.exe
  • CEAPPMGR.exe

6. Quando todo procedimento estiver terminado, você vai ver uma janela parecida com a abaixo
Allow ActiveSync ports in Zone Alarm Security Suite Step 5
7. Na janela principal, clique em firewall, e depois clique em “Expert”
Allow ActiveSync ports in Zone Alarm Security Suite Step 6
8. Nas regras ” Expert”, clique em Add
Allow ActiveSync ports in Zone Alarm Security Suite Step 7
9. Em “Add Rule” Adicione um nome para a regra (pode ser por exemplo, activesync) no campo “Name”. Depois já até “Add Protocol” conforme mostrado abaixo
Allow ActiveSync ports in Zone Alarm Security Suite Step 8
10. Adicione o protocolo conforme mostra a imagem abaixo: Protocol = TCP, Description = ActiveSync TCP, Destination = Other; Any, Source Port = Other, Any. Clique em OK e já até a tela principal
Allow ActiveSync ports in Zone Alarm Security Suite Step 9
11. Pronto!

fonte: Microsoft