1. Introdução

Sumário

1.1. Linguagem utilizada nessa Monografia

A linguagem desta monografia é predominantemente técnica e presume algum conhecimento geral sobre o Unix®, como os conceitos de root, logar-se, ssh, terminal, comando, processo, etc. Os abundantes termos técnicos de origem anglicana sem correspondente aceitável no idioma pátrio são utilizados ampla e livremente na sua forma original sem qualquer remorso.

1.2. O Unix e o login remoto

Uma das mais expressivas vantagens do Unix® e seus derivados, em relação aos demais sistemas operacionais, é a possibilidade do usuário interagir, através de um terminal conectado a uma rede, com máquinas que estão fisicamente distantes, dando-lhes comandos e rodando programas como se ele estivesse sentado em frente à própria máquina.

A ferramenta mais utilizada atualmente para esse tipo de aplicação é o SSH (Secure Shell); outrora utilizou-se o Telnet, mas ele foi abandonado devido aos problemas de segurança que lhe eram inerentes.

O SSH, portanto, além de ser uma ferramenta muito útil para usuários, tornou-se uma ferramenta fundamental do administrador de rede, que através dela consegue facilmente administrar máquinas remotas sem precisar dirigir-se fisicamente até elas.

1.3. Mainframes vs. Redes de Múltiplas Máquinas

Num passado não muito distante (e numa galáxia muito próxima), era comum haver um único computador (mainframe) utilizado por todos os usuários, e cujos recursos eram por eles compartilhados. A administração de um sistema desse tipo é relativamente simples do ponto de vista da rede em si, já que há somente uma máquina que concentra todos os serviços. O administrador necessita apenas logar-se na máquina (seja localmente no seu console ou remotamente por um terminal ou SSH), tornar-se root de alguma maneira legítima e efetuar suas tarefas de administração.

Contudo, algo que está se tornando cada vez mais comum é haver não um único computador central com vários terminais, e sim redes de várias máquinas interligadas; ao invés de utilizarem o computador central e compartilhar seus recursos, cada usuário utiliza uma máquina da rede, desta forma distribuindo o ônus de processamento. Alguns serviços continuam sendo disponibilizados de maneira centralizada (e-mail, sistemas de arquivo, etc), mas a utilização desses dados passa a ser feita nas máquinas individuais e não no servidor central.

Isto significa que o administrador, além de zelar pelo funcionamento dos serviços centrais, deve também zelar pelo funcionamento de cada uma das máquinas que perfazem a rede, pois é nelas que os usuários se logam e trabalham.

Este tipo de configuração de rede traz consigo uma necessidade fundamental: que as máquinas que perfazem a rede operem de modo semelhante, e que estejam todas configuradas de forma a ter disponíveis os mesmos programas, utilizar os mesmos recursos, etc.

Por isso, nesse tipo de rede, uma atividade bastante comum que o administrador deve fazer é logar-se remotamente em uma série de máquinas da rede para efetuar nelas tarefas de manutenção ou expansão, como por exemplo instalar um mesmo programa em várias máquinas, editar arquivos de configuração, iniciar e parar serviços, entre outros.

1.4. O SSH e a administração de redes de múltiplas máquinas

O SSH é uma ferramenta fundamental do administrador para logar-se nas diversas máquinas da rede. Contudo, quando essas máquinas são numerosas, torna-se inconveniente para o administrador ter que abrir um terminal para logar-se em cada uma delas, ou ter que efetuar uma operação em uma máquina de cada vez, esperando que ela termine antes de ir para a próxima.

Seria mais conveniente haver uma ferramenta que gerenciasse as múltiplas sessões de SSH, permitindo ao administrador um maior controle sobre elas, de maneira prática e sem desperdiçar tempo de processamento das máquinas da rede. É dessa necessidade que surgiu o projeto Omnitty.