Archive for novembro \27\-02:00 2009

SSH com keys

Posted on novembro 27, 2009. Filed under: Linux |

Existem certos momentos que precisamos acessar servidores remotos por ssh sem a utilização de senha.  Um dos motivos mais comuns para essa situação acredito que seja a necessidade de transferência de arquivos por scp em shell scripts. Através de shell scripts não é possível definir a senha de acesso ssh/scp sem que haja um intervenção manual. A saída para esse caso é a utilização de chaves criptografadas entre o servidor e o cliente ssh. Dessa forma será possível efetuar o login sem a necessidade de senha.

No lado do cliente ssh, será preciso gerar uma par de chaves usando criptografia rsa. (Deixe as opções de prompt em branco pressionando Enter em todas).

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/douglas/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/douglas/.ssh/id_rsa.
Your public key has been saved in /home/douglas/.ssh/id_rsa.pub.
The key fingerprint is:
c4:a8:e5:f3:74:cd:ff:f3:65:75:7d:e5:1f:1c:18:7e douglas@pasqua

A par de chaves foi gerado no diretório .ssh/ no seu diretório home.

Copie a chave pública para o servidor remoto.

$ scp ~/.ssh/id_rsa.pub douglas@ip-remoto:~

Conecte no servidor remoto e copie a chave pública para dentro do arquivo authorized_keys no diretório ~/.ssh:

$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ touch authorized_keys
$ chmod 600 authorized_keys
$ cat ../id_rsa.pub >> authorized_keys
$ rm ../id_rsa.pub

Voltando para a máquina do “client” ssh você está apto para conectar no servidor usando ssh/scp sem senha:

$ ssh -l douglas douglas@ip-remoto:~
$ scp arquivo.txt douglas@ip-remoto:~

Ler Post Completo | Make a Comment ( None so far )

Certificação SCJP

Posted on novembro 24, 2009. Filed under: Java |

Fiz a prova de certificação java 6 (SCJP – Sun Certified Java Programmer) no começo deste mês. Estava bastante ancioso à respeito das questões que iria encontrar. Sinceramente achei a prova um pouco mais difícil do que imaginara antes do exame. Criei essa expectativa devido ao que eu lia em forums e sites de simulados.Bom, o mais importante é que passei na prova e agora tenho mais um certificado para pendurar na parede ;).

Gostaria de compartilhar aqui algumas dicas que me ajudaram a obter sucesso na prova.

O que recomendo para a preparação:

  • O livro Thinking in java 6th edition de Bruce Eckel’s.
  • O livro SCJP Sun Certified Programmer for Java 6 Study Guide de Kathy Sierra e Bert Bates.
  • O Curso FJ19 da Caelum.

Durante e após a preparação é fundamental a prática de simulados. Através dos simulados você se torna consciente dos assuntos em que tem mais dificuldade e aqueles que tem mais facilidade. Dessa forma você pode guiar os seus estudos de uma maneira mais eficiente e objetiva.

Eu recomendo os simulados da whizlabs. Porém não é um serviço gratuito, mas acredito que vale a pena o investimento. São questões bem parecidas com a certificação e, outra vantagem do whizlabs é que você pode revisar os simulados já realizados. Na revisão, além da(s) alternativa(s) corrigida(s), há uma explicação detalhada do porquê à escolha da alternativa e também contém links para se aprofundar no assunto relacionado à questão.

Outra dica a respeito do exame é a possibildade de marcar uma questão para revisão. No final da prova você pode revisar qualquer questão e mudar a alternativa caso ache necessário. Ao rever algumas questões no final me ajudou, consegui visualizar mais claramente regras que pela primeira vez não havia percebido.

É isso ae! Espero ter colaborado.

Ler Post Completo | Make a Comment ( None so far )

Caracteres de nova linha no PHP

Posted on novembro 23, 2009. Filed under: PHP |

Como todos já sabemos, todos caracteres que estão fora das TAGS do PHP “<php ?>” são copiado pelo interpretador e enviados para a saída padrão diretamente. Até mesmo os caracteres de nova linha. Normalmente novas linhas são ignoradas pelo navegador para exibição, ou seja, eles não tem qualquer efeito. Porém esse caracter é utilizado na resposta de requisições HTTP geradas pelo WebServer como separador entre o header e restante dos dados.
Para exemplificar um dos problemas de quando trabalhos com headers, vamos utilizar o caso clássico de problemas com sessão:

Cannot send session cookie - headers already sent by (output started a....

Esse erro acontece, “header already sent by”, quando enviamos dados para o browser antes de algum header http. No casso do session. foram enviado dados antes da tentativa de registrar o cookie da sessão, na função session_start(). Caracteres de nova linha após a tag “?>” em arquivos .php, que são incluidos em sua aplicação através de include/require, podem ocasionar esta situação. Este é um erro que acontece com bastante frequencia.

Para ajudar a resolver esse problema, o primeiro caracter de nova linha após o fechamento da tag “?>” é automaticamente removido pelo parser. Essa regra do parser ajuda também a lidar com alguns editores de texto que adicionam automaticamente uma nova linha no final do arquivo.

Uma dica que eu recomendo e que ajuda a previnir essa situação é omitir a tag “?>” no final do arquivo php em arquivos que são incluídos na sua aplicação por include/require. Geralmente são os arquivos de “biblioteca”. É perfeitamente permitido pelo parser e irá minimizar de forma efetiva a possibilidade desse tipo de erro.

Ler Post Completo | Make a Comment ( None so far )

Montando arquivos .ISO no Linux

Posted on novembro 23, 2009. Filed under: Linux |

Um arquivo ISO é uma imagem de CD ou DVD. A extensão do arquivo é .iso.
O arquivo de imagem ISO contém todos os dados do CD/DVD arquivados. Os dados são amarzenados sem compactação.

Você pode montar o arquivo ISO em seu linux e visualizar todo o seu conteúdo através do device de loop.

Para montar o arquivo você deve:

  • Estar logado como root.
  • Criar ou usar um diretório vazio onde serão montandos os dados a imagem. No exemplo vamos usar /mnt/isofile

Montando a imagem:

# mount -o loop arquivo.iso /mnt/isofile

Basta agora acessar o diretório /mnt/isofile onde estarão os arquivos contidos na imagem ISO.

Para desmontar a ISO:

# umount /mnt/isofile

Ler Post Completo | Make a Comment ( None so far )

Liked it here?
Why not try sites on the blogroll...

%d blogueiros gostam disto: