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