Posts Tagged ‘ssh’

Dica do dia: Logando via ssh sem autenticação

dezembro 18, 2009

A dica de hoje vai ser bem rápida, até porque ela é bem simples.

Acessar servidores via ssh é algo que faz parte da nossa rotina, e ficar toda hora colocando a senha, enche o saco. Mas como fazer para não pedir a senha?

Basta fazer o seguinte:

1.Gere o par de chaves pública/privada, na sua máquina.

ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key: (pressione Enter)
Enter passphrase (empty for no passphrase): (pressione Enter)
Enter same passphrase again: (pressione Enter)

2.Mande a chave pública para o servidor que você irá acessar. Neste momento estamos copiando a chave para o arquivo authorized_keys (do servidor) sem sobrescrever o conteúdo anterior e ainda preservando as permissões corretas.

ssh-copy-id usuario@servidor

password: (informe a senha)

Pronto! Falei que seria rápido. 🙂

Agora é só digite o comando ssh usuario@servidor que você estará conectado no servidor, automaticamente, sem ter que informar a senha.

E para terminar, você pode criar um alias e assim, será possível logar no servidor com apenas um comando (ex. server.opala). 😀

P.S.: Há outra forma de logar no servidor com um comando (sem usar o alias), que foi explicada pelo Antonio nesse post.

Anúncios

Aumentando a produtividade com o SSH Config File

abril 23, 2009

Quem trabalha administrando um parque grande de servidores Linux, deve achar meio chato ficar digitando o comando ssh username@host para conectar em cada máquina (eu pelo menos acho, pois temos mais de 30 servidores, e temos que connectar diariamente em cada um deles várias vezes), o arquivo de configuração do cliente SSH conta com uma funcionalidade que pode nos ajudar muito a tornar esta tarefa mais simples e rápida.

Utilizando o arquivo de configuração podemos cadastrar todos os servidores nele, neste cadastro atribuimos um Nome para cada host, e configuramos qual o endereço, porta, e usuário que deve ser utilizado para conectar no Host, desta forma para conectar via ssh em um Host cadastrado é apenas necessário utilizar o comando ssh Host ou invés de ssh username@host, o cliente ssh identifica o nome do Host pega as informações no arquivo de configuração e faz a conexão no endereço, porta, e com o usuário configurado para aquele host, sendo necessário você apenas digitar a senha para finalizar a conexão.

O arquivo de configuração do SSH armazena vários tipos de configurações relacionadas a o SSH Client, neste post irei focar apenas na configuração de Hosts, portanto não entrarei em detalhes dos outros parametros de configuração do mesmo.

Existem 2 arquivos de configuração do SSH, um global que é válido para todos os usuários de uma máquina, e um privado de cada usuário, os parametros e a forma de configurar os dois arquivos são iguais, a única diferença é que um é válido para todos os usuário e o outro apenas para um usuário, abaixo descrevo onde cada arquivo pode ser encontrado:

Publico:

/etc/ssh/config

Privado:
/home/.ssh/config

Abaixo segue um exemplo de como configurar o arquivo:
Host lab-server-001
HostName 192.168.0.21
User root
Port 22

Nesta configuração de exemplo estamos definindo o nome do Host como “lab-server-001”, o memso está no enedereço ip “192.168.0.21”, a porta ssh é “22”, e o usuário que utilizamos para conectar nele é o “root”.

Com esta configuração para connectar neste servidor basta digitar:
asouza@ant-note:~$ ssh lab-server-001
root@192.168.88.17's password:
Last login: Fri Apr 24 00:07:25 2009 from 192.168.191.104
[root@ipx017 ~]#

Aumentando ainda mais a produtividade:

  • Uma das grandes vantagem de fazer a configuração de todos os Hosts que você trabalha é que no Ubuntu o bash faz autocomplete dos Hosts cadastrados, desta forma eu posso apenas digitar “ssh l” pressionar “tab” e o bash vai autocompletar o nome do host (exatamente igual ele faz para os comandos), veja o video abaixo:
  • A outra é para quem utiliza o Gnome-do, ele conta com um plugin do SSH que interpreta o arquivove de configuração desta forma fica muito simples você connectar visualmente no servidor desejado, veja o video abaixo:

Eu criei um arquivo de configuração com todos os servidores que nós da Voice normalmente conectamos (desta forma é só fazer o download do mesmo no enedreço “~/.ssh/config” e desfrutar as novas facilidades adicionadas, este é só para o pessoal da Voice).