segunda-feira, 4 de março de 2013

Gerenciador de Conexões para terminal (não GUI) Comando ac


O resultado final foi o 'ac' ou Auto Connector , e seu uso é bastante simples, por exemplo:

Para criar uma conexão ssh:

  $ 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

Para listar todas conexões criadas:

  $ ac -ls
  NAME            IP / HOSTNAME   USER            TYPE    COMMENT
  teste1          10.0.0.1        user            ssh     'Conexão de Teste'

Para mostrar detalhes de uma conexão:

  $ 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'

Para conectar:

  $ 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:

Uso:

  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]

Para conectar a uma conexão já salva:

   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.)

Adicionar / Salvar conexão:

  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

Para deletar uma conexão salva:

  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)

Modificar uma conexão salva:

  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)

Para Duplicar / Clonar uma conexão salva:

   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>)

Mostrar conexões e configuração:

-lc
Lista conexões
-lg
Lista grupos
-lp
Lista preferencias

Mostrar detalhes de uma conexão ou grupo:

  ac -s < nome> [-e]  Onde nome é uma conexão ou grupo salvo
(Se utilizado com -e, as senhas serão mostradas)

Mostrar ajuda:

-h
Mostra essa ajuda e termina.
O script pode ser baixado em https://sourceforge.net/p/autoconnector

Procedimentos


#/* ac: Autoconnector
# *
# * ----------------------------------------------------------------------------
# * "THE BEER-WARE LICENSE" (Revision 42):
# * <saunite@gmail.com> wrote this file. As long as you retain this notice you
# * can do whatever you want with this stuff. If we meet some day, and you think
# * this stuff is worth it, you can buy a beer in return to André Saunite
# * (Thanks to Poul-Henning Kamp <phk@FreeBSD.ORG> for this amazing license)
# * ----------------------------------------------------------------------------
# *
# * ac -> Auto Connector (or André's Connector) :P
# *
# * This is a Terminal connection manager (no GUI), intended to be used with
# * your favorite Terminal application (Konsole, Gnome-Terminal, yakuake, and
# * so on) or to be used in machines with no GUI available.
# *
# * Creation date: 2012/09/06 # * Last change: 2012/10/03
# *
# * ----------------------------------------------------------------------------
# *
# * Installation Instruction
# *
# * For ac to run correctly, some perl modules need to be installed, in Debian
# * you can just install those packages:
# *
# * perl-modules
# * libcrypt-ecb-perl
# * libexpect-perl
# * libterm-readkey-perl
# * libcrypt-blowfish-perl
# *
# * In case you are using another system or prefere to install all via CPAN,
# * do the following:
# *
# * Enter cpan:
# *
# * $ sudo cpan
# *
# * Run the installation of the needed modules:
# *
# * install Expect
# * install Term::ReadKey
# * install Getopt::Std
# * install Crypt::Blowfish
# *
# * ----------------------------------------------------------------------------
Source: README, updated 2012-10-03

Nenhum comentário:

Postar um comentário