De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: André Marques Saunite
Data de Publicação: 20 de setembro de 2012
Eu trabalho com administração de sistemas Unix, e tenho uma lista bem grande de máquinas que eu tenho que me conectar constantemente, e isso torna praticamente impossível lembrar IP, usuário e senha de todas elas.
Pra facilitar a vida existem vários softwares de gerenciamento de conexão, um dos mais conhecidos é o "PuTTY", outro muito famoso no mundo windows é o secureCRT, que não é livre.
No Linux, para o meu gosto pessoal, o melhor que eu encontrei até hoje foi o PAC (http://sourceforge.net/projects/pacmanager/), comecei a utilizar ele alguns meses atrás e é realmente um software muito bom e completo.
Porém, como eu estava muito acostumado a utilizar o konsole para me conectar, e já sabia todos os seus atalhos de teclado, eu senti falta de algumas funcionalidades do konsole no PAC, e por isso pensei "Por que não usar o gerenciador de conexões em qualquer emulador de terminal que eu escolher?"
Como eu estava com algum tempo livre e vontade de treinar os meus (poucos) conhecimentos em perl, eu resolvi tentar desenvolver algo que fizesse esse trabalho.
O resultado final foi o 'ac' ou Auto Connector (ou André Connector :0), e seu uso é bastante simples, por exemplo:
$ ac -a -n teste1 -i 10.0.0.1 -P 22 -u user -p senha123 -t ssh -c "Conexão de Teste" Adding: teste1,10.0.0.1,22,user,*****,ssh,Conexão de Teste,-X -C -o PreferredAuthentications=password,keyboard-interactive
$ ac -ls NAME IP / HOSTNAME USER TYPE COMMENT teste1 10.0.0.1 user ssh 'Conexão de Teste'
$ ac -s teste1 Connection Name: teste1 IP Address: 10.0.0.1 Port Number: 22 User Name: user Passwd: ***** Connection Type: ssh Comment: 'Conexão de Teste' SSH OPTIONS: '-X -C -o PreferredAuthentications=password'
$ ac teste1 user@10.0.0.1's password: X11 forwarding request failed on channel 0 user@10.0.0.1> user@10.0.0.1>logout Connection to 10.0.0.1 closed.
Além disso, é possível se conectar em cadeia, especificando várias conexões salvas o programa vai conectando de um nó a outro, até terminar a lista.
Também é possível alterar e remover conexões, salvar grupos de conexões (para conexão em cadeia), especificar uma chave ssh ao invés de senha, é possível que o script peça a senha interativamente para que não tenha que digita-la na linha de comando, e também clonar conexões.
Por enquanto o script suporta conexões ssh, sftp, ftp e telnet.
Abaixo mostro o help do comando com todas as suas opções:
ac [-a|-d|-x|-l|-h|-m|-s] [-n nome|-i ip|-P porta|-u user|-p password| -k ssh key_identity_file|-c commentario|-t tipo|-o ssh_options] [nome]
ac < nome> [< nome_01>...< nome_N>]
Onde 'nome' e 'nome_XX' são os nomes de conexões salvas (Se mais de uma conexão é especificada, o script vai conectar ao primeiro nó, depois a partir desse nó vai conectar ao que segue, e assim por diante até acabar a lista.)
ac -a -n < nome> -i < ip> -u < usuario> -t < tipo> [-P < port_number>|-p < password>|-k < ssh_key_id_file>|-c < comment>]
-n < nome> | Nome da conexão a ser salva |
---|---|
-i < ip> | IP ou nome do host |
-t < tipo> | Tipo de conexão, as seguintes são suportadas: 'ssh telnet ftp sftp' |
-u < usuario> | Usuário no servidor remoto -P < porta> Número da porta (Se não especificado se usará a padrão para o tipo de conexão) |
-p < password> | Senha para o usuario, se não especificada, ou se conter um hífen (-), então a senha será pedida (Opção não suportada com -k) |
-k < key_id_file> | Chave de autorização SSH, opção não suportada com -p |
-c < comentário> | Comentário para a conexão |
ac -x < nome> Nome da conexão ou do grupo para se deletar
(Caso a conexão pertença a um grupo, ela não será deletada)
ac -m < nome> [-n < novo nome>] [-i < ip>] [-u < usuario>] [-t < tipo>] [-P < porta>] [-p < password>] [-k < ssh_key_id_file>] [-c < comentário>]
< nome> | Nome da conexão a ser alterada |
---|---|
-n < nome> | Novo nome da conexão |
-i < ip> | Novo IP ou nome do host |
-t < tipo> | Novo Tipo de conexão, as seguintes são suportadas: 'ssh telnet ftp sftp' |
-u < usuario> | Novo usuário no servidor remoto |
-P < porta> | Novo número da porta (Se não especificado se usará a padrão para o tipo de conexão) |
-p < password> | Nova senha para o usuario, se conter um hífen (-), então a senha será pedida (Opção não suportada com -k) |
-k < key_id_file> | Nova Chave de autorização SSH, opção não suportada com -p |
-c < comentário> | Novo Comentário para a conexão |
(Todos parametros são opcionais, mas ao menos um deve ser especificado)
ac -d < nome> -n < novo nome> [-i < ip>] [-u < usuário>] [-t < tipo>] [-P < porta>] [-p < password>] [-k < ssh_key_id_file>] [-c < comentário>]
-n < nome> | Nome da conexão a ser salva |
---|---|
-i < ip> | IP ou nome do host |
-t < tipo> | Tipo de conexão, as seguintes são suportadas: ssh telnet ftp sftp |
-u < usuario> | Usuário no servidor remoto |
-P < porta> | Número da porta (Se não especificado se usará a padrão para o tipo de conexão) |
-p < password> | Senha para o usuario, se não especificada, ou se conter um hífen (-), então a senha será pedida (Opção não suportada com -k) |
-k < key_id_file> | Chave de autorização SSH, opção não suportada com -p |
-c < comentário> | Comentário para a conexão |
(Todos parametros são opcionais, exceto < novo_nome>)
-lc | Lista conexões |
-lg | Lista grupos |
-lp | Lista preferencias |
ac -s < nome> [-e] Onde nome é uma conexão ou grupo salvo
(Se utilizado com -e, as senhas serão mostradas)
-h | Mostra essa ajuda e termina. |
O script pode ser baixado em https://sourceforge.net/p/autoconnector
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários