Mostrando postagens com marcador PuTTY. Mostrar todas as postagens
Mostrando postagens com marcador PuTTY. Mostrar todas as postagens

Configurando o PuTTY - Opções Avançadas - Parte 2

Continuando com o artigo anterior sobre configurações do PuTTY (a primeira parte você pode conferir aqui), vamos ver mais algumas opções interessantes.

8 - Connection -> SSH
Remote Command (Comando Remoto):
Permite o envio de um comando para o servidor remoto. É aconselhável enviar o caminho completo para o comando, e o executável em questão precisa existir no servidor de destino.

Enable Compression (Habilitar Compressão):
Habilita a compressão de dados durante a conexão. Útil para links lentos.

Preferred SSH protocol version (Versão preferida do protocolo SSH):
Permite selecionar qual o protocolo de versão SSH a ser utilizado. O padrão é tentar utilizar o SSH-2 e caso o servidor não aceite, "cair" para o SSH-1. Marcar as opções "1 only" ou "2 only" força o uso da versão selecionada e desconecta se o servidor não aceitar/suportar sua seleção.


9 - Connection -> SSH -> Auth
Private Key File for authentication (Arquivo de chave privada para autenticação):
Permite selecionar um arquivo de chave privada do PuTTY (*.ppk) para ser utilizado para autenticação. Pode ser utilizada esta opção mesmo que se esteja utilizando o Pageant. Neste caso, são tentadas primeiramete as chaves do Pageant e em seguida, em caso de falha, é tentada a chave especificada aqui.


10 - Connection -> SSH -> Tunnels
Port Forwarding (Encaminhamento de Portas):
Essa é uma característica interessante e muito útil do PuTTY. Com ela, você consegue encaminhar pacotes a portas específicas do servidor ou até mesmo para outras máquinas presentes na rede do servidor (e vice-versa, ou seja, permitir que máquinas da rede remota acessem hosts da sua rede) . Observe a figura abaixo para um melhor entendimento:


A primeira linha da caixa "Forwarded Ports" diz o seguinte: "L8087 172.16.100.137:8087". Isso significa: "tudo o que chegar na porta 8087 da máquina local (a sua máquina, onde o PuTTY é executado) deve ser encaminhado para a porta 8087 da máquina 172.16.100.137". A próxima linha define um comando similar, para o mesmo host. A última linha diz "tudo o que chegar na porta 1433 da máquina local deve ser encaminhado para a porta 1433 da máquina 172.16.100.247". Isso mostra que as máquinas de destino não precisam ser exatamente a máquina onde se conecta. Caso a opção "Local ports accept connections from other hosts" esteja marcada, o PuTTY aceitará conexões de outras máquinas de sua rede, e agirá como um roteador, trafegando os pacotes através de uma conexão segura. A opção "Remote ports do the same" faz o mesmo, mas para a rede remota (permite que várias máquinas da rede remota acessem a sua rede, através das portas encaminhadas).
Criar um encaminhamento é simples:


  1. Digite uma porta no campo "Source port". Essa será a porta que ouvirá as conexões
  2. Digite no campo "Destination" o endereço IP e a porta de destino, no formato XXX.XXX.XXX.XXX:YYYY
  3. Clique no botão "Add" e pronto. 
Esse procedimento criou um encaminhamento da sua máquina para a máquina/rede remota. Para fazer o oposto, repita o procedimento mas selecione a opção "Remote" antes de clicar em "Add". Para que outras máquinas na sua rede possam fazer uso do encaminhamento, marque a opção "Local ports accept connections from other hosts", conforme dito acima. E para que as máquinas da rede remota façam o mesmo marque a opção "Remote ports do the same". Ah, também vale lembrar que a maioria dessas opções pode ser alterada com a conexão já estabelecida. Para isso, basta clicar com o botão direito na barra da janela do PuTTY e em seguida na opção "Change Settings", fazer as alterações desejadas e clicar em Apply.

Configurando o PuTTY - Opções Avançadas

Pretendo colocar neste artigo algumas configurações do PuTTY mais avançadas, porém que são freqüentemente esquecidas ou mesmo desconhecidas pela maioria das pessoas.

1 - Session
Close Window on exit (Fechar a Janela ao sair)

Essa opção controla se a janela do PuTTY deve ser fechada quando a conexão é encerrada. É interessante deixar marcada a opção "Only on clean exit", que fechará a janela apenas se a conexão for terminada de uma maneira "limpa", sem erros. Caso a conexão seja encerrada devido a algum erro, a janela permanecerá aberta e a razão da desconexão poderá ser conferida na própria tela ou através do Log de Eventos (PuTTY Event Log). O Log de Eventos é acessado clicando-se com o botão direito do mouse na barra de título da janela e selecionado a opção "Event Log".

As imagens acima mostram algumas entradas do Log de Eventos do PuTTY (que pode ser acessado a qualquer hora durante uma conexão, independente de haver acontecido ou não um erro). A segunda imagem mostra que foi tentada a autenticação por chave privada (uma delas sendo enviada pelo Pageant, e a outra pelo próprio PuTTY) sem sucesso. Depois mostra que foi utilizado um login interativo (Sent Password) com sucesso (Access Granted). Por fim mostra um redirecionamento local sendo criado (falarei sobre redirecionamento SSH mais a frente).

2 - Terminal -> Keyboard
The Function keys and keypad (teclas de função e teclado numérico)
Selecione a opção "Linux". Isso vai permitir que você utilize as teclas de função (F1 a F10) em alguns programas que as utilizam (como o htop, que é uma "evolução" do top).

3 - Terminal -> Bell
Set the stile of the bell (Selecione o estilo da campainha)
A campainha é um som produzido normalmente pelo alto-falante do computador, quando acontece algum erro (por exemplo, quando você tenta completar o nome de um comando com TAB e o sistema não encontra tal comando). Aqui podemos configurar como o PuTTY vai responder quando a "campainha tocar":



  • None (bell disabled): Não faz nada
  • Make default system sound: toca o som padrão do sistema (normalmente aquele "ding" do windows.
  • Visual Bell (Flash Window): Campainha visual. Pisca a tela ao invés de tocar algum som. É a minha preferida, pois normalmente trabalho em equipamentos sem caixa de som, ou com elas desligadas (ou ainda tocando uma música) e em todos esses casos a campainha não passa desapercebida.
  • Beep using the PC Speaker: utiliza o alto-falante do PC para produzir o som.
  • Play a custom sound file: Permite selecionar um som para representar o toque da campainha. Nesse caso é necessário selecionar o toque no botão abaixo.
4 - Window -> Appearance
Adjust the use of the cursor (Ajuste do uso do cursor)
Configura a aparência do cursor. As opções são auto-descritivas: Block (bloco), Underline (sobrescrito) e Vertical Line (linha vertical). A opção "Cursor blinks", se marcada, faz o cursor piscar.
Font settings (Opções de Fonte): permite selecionar o tipo e o tamanho da fonte. Dispensa maiores comentários ...
5 - Window->Behavior
Adjust the behavior of the window title (Ajuste do comportamento do título da janela):
Por padrão, o título da janela de uma conexão é o "IP do servidor - PuTTY". Se você trabalha com várias janelas abertas (as vezes tenho umas cinco abertas simultaneamente), vale a pena setar esta opção. O texto colocado aqui vai aparecer na barra de título da janela, facilitando sua identificação.
6 - Window->Selection
Formatting of pasted characters (Formatação dos caracteres ao colar)
Se a caixa de seleção "Paste to clipboard in RTF as well as plain text" estiver selecionada, quando você selecionar (e portanto copiar) um texto colorido na janela do PuTTY, caso o programa em que você for colar o texto suporte o padrão RTF (Rich Text Format), como o MS-Word, por exemplo, o texto colado estará colorido, conforme o original.

7 - Connection->Data
Auto-login username (Nome de usuário para login):
Permite configurar um nome de usuário para ser enviado ao servidor. Evita a necessidade de ter que digitar sempre o nome de usuário e, se utilizado em conjunto com a autenticação por chave privada, permite automatizar completamente o processo de login.
Terminal-type string (String de tipo de terminal):
Permite informar o tipo de terminal (cliente) utilizado para conexão. O padrão é "xterm". Colocar como "Linux" resolve o problema do teclado numérico não funcionar dentro do vim.

Por enquanto é isso. Na próxima parte, pretendo colocar mais algumas opções e configurações úteis do PuTTY. Enquanto isso, comentários são bem-vindos!!!

Gerando e Instalando Chaves com o PuTTYGen (PuTTY Key Generator)

Existem diversas vantagens em utilizar a autenticação por chaves no PuTTY. Dentre elas podemos citar:
  • Aumento da segurança, pois podemos desativar o login interativo (no qual se digita o nome de usuário e senha) e permitir apenas a autenticação através de chaves. Com isso, elimina-se a possibilidade de uma invasão por brute force.
  • Praticidade: utilizando o Pageant, que é um agente SSH. Quando você efetua uma conexão com um programa que o suporte, o Pageant fornece as chaves para a conexão. Assim, você só precisa digitar a passphrase desta chave uma úinica vez (voltarei a falar sobre isso mais à frente).
Preparando:
Obtenha o pacote de instalação do PuTTY no site oficial. Durante o desenvolvimento desse artigo a versão atual era a putty-0.60-installer.exe. Caso você não possa realizar instalação de softwares na sua máquina, você também pode realizar o download dos componentes individualmente. Nesse caso, você vai precisar dos programas PuTTY, Pageant e PuTTYGen. Porém, algumas facilidades do programa não estarão disponíveis, como a associação automática dos arquivos de Chave Privada com o Pageant (embora isso possa ser feito manualmente posteriormente).
Após baixar e instalar o programa (ou colocar os arquivos em uma pasta), inicie o PuTTYGen. Você verá uma tela semelhante a esta (clique nas imagens para ampliar):
No painel inferior, você define o tipo de chave (SSH-1, SSH-2 RSA e DSA) e o tamanho da chave em bits. Os valores habituais (SSH-2 RSA de 1024 bits) já vêem selecionados por padrão. Após isso, clique no botão "Generate". Após isso, é necessáio mover o mouse aleatóriamente por sobre a janela do programa, até que a barra de progresso seja completamente preenchida (sim, eu sei que a imagem tá tosca ...).
Após alguns instantes, a geração das chaves estará completa. Existem alguns campos agora a serem preenchidos (marcados com 1 na figura):
  • Key Comment: Permite inserir um comentário na chave. É opcional, mas facilita a identificação da chave posteriormente.
  • Key Passphrase / Confirm: Permite inserir uma senha na chave. Assim, antes de utilizar a chave será necessário a digitação da senha. É opcional, mas aumenta a segurança. Considere que uma chave privada sem passphrase seria igual a um cartão de banco sem senha: qualquer um que encontrasse o cartão poderia ter acesso à conta do proprietário. Já um cartão com senha (ou uma chave privada com passphrase) é inútil para quem encontra. É necessário digitar a passphrase e a repetir abaixo.
Vamos agora instalar a chave pública (que fica na máquina que se pretende acessar e não é secreta. Pense nela como a fechadura de uma porta). Existem duas maneiras de se fazer isso: clicar no botão "Save Public Key" e salvar a chave em um arquivo ou copiar o conteúdo do campo 3 da figura para o arquivo de chaves. Em máquinas linux, normalmente é utilizado o arquivo authorized_keys que fica no diretório .ssh dentro do diretório home do seu usuário. Então o caminho completo do arquivo seria /home/juca/.ssh/authorized_keys para um usuário chamado juca e /root/.ssh/authorized_keys para o usuário root. Após esse procedimento a chave pública estará corretamente instalada.
Importante: Tanto o diretório "~/.ssh" quanto o arquivo authorized_keys devem ser de acesso exclusivo ao usuário. Ou seja: o diretório deve ter permissões 0700 e o arquivo permissões 0600. Caso contrário, a autenticação por chaves não funcionará (e o servidor não reportará nenhum erro específico).

Falta agora salvar a chave privada (a chave privada é exclusivamente sua e não deve ser distribuída. Utilizando a analogia anterior, pense nela como a chave da fechadura.). Clique no botão "Save Private Key" (marcado no número 2 na figura) e salve o arquivo com a chave privada. Existem duas formas de utilizar a chave privada:

  • Configurando diretamente no PuTTY: Na configuração do PuTTY, em Connection->SSH->Auth, existe o campo "Private Key File for Authentication". Basta clicar em "Browse" e selecionar o arquivo da chave privada. Porém a cada nova conexão será necessário digitar a passphrase da chave.
  • Utilizando o Pageant: dando um duplo-clique no arquivo de chave publica irá acrescentar esse arquivo na lista de chaves do Pageant, após a digitação da passphrase da chave, caso haja uma. Obs: a associação que permite a abertura da chave diretamente com um duplo-clique só estará disponível caso o Pageant tenha sido instalado pelo pacote de instalação. Caso tenha sido feito o download do arquivo separado existem duas opções: registrar o tipo de arquivo da chave privada (*.ppk) para abertura com o Pageant (recomendável) ou iniciar o Pageant, clicar em "Add Key" e indicar o caminho para cada chave desejada.


Dica - Teclado numérico no PuTTY

Algumas vezes, ao utilizar o vi através do PuTTY, o teclado numérico não funciona de forma correta (ao digitar um número aparecem letras na tela). Para resolver isso, altere a opção "Terminal-Type String" (que fica em "Connection->Data") para "linux" (veja abaixo).