esperar que o script preencha automaticamente a senha [duplicada]

0

Eu estou lutando com a forma de fazer as coisas.

Meu objetivo é que, quando no meu tipo jumphost ssh router1, ele seja ssh para o roteador e, ao mesmo tempo, execute um script de espera para preencher minha senha a partir de um arquivo de senha (qual ofcource é somente leitura para mim) de preferência, deve enviar um encriptador para que não seja captado por ninguém.

Eu tenho um gerenciador para obter um roteiro esperado para funcionar, mas eu não quero ter um zilhão de esperar scripts na minha pasta (para a quantidade de roteadores que temos).

Estou achando que isso poderia ser feito usando comandos alias? Eu já tenho configuração de comandos de alias para que, se eu digitar router1, ele seja automaticamente ssh para esse roteador específico.

(recebi uma mensagem de que esta era uma duplicata, mas não consegui encontrar a pergunta duplicada, por isso vou tentar explicar mais: Vamos dizer que na minha empresa temos 100 roteadores. por enquanto eu tenho fez alias'es assim quando eu digito router1 no meu prompt, ele fará ssh router1. Eu quero tentar estender essa funcionalidade e raspar alguns ms preciosos de tempo, preenchendo a senha automaticamente.

Então, em outras palavras, estou procurando uma maneira de combinar o alias com um script de espera (e, possivelmente, um script bash, se necessário) e sou extremamente ruim em qualquer script

Espero que alguém possa ajudar:)

    
por Mikkel Gottlieb 08.12.2016 / 02:29

1 resposta

0

Esperar e enviar enviará um texto claro - mas sua conexão SSH fará a criptografia.

Mas, em vez de escrever um script (e armazenar sua senha nele), por que não tentar usar sua configuração SSH e autenticação baseada em chave privada / pública.

Primeiro, gere sua própria chave SSH privada e o stub público que a acompanha. Basta executar

ssh-keygen

E forneça uma senha (que pode ser diferente da senha da conta de usuário e você terá que fornecer toda vez que fizer login) ou não (nenhuma senha na chave, para que você nunca seja solicitado por uma) . Mesmo que você atribua uma senha ao seu par de chaves, um serviço de chaveiro local pode armazenar em cache a autenticação e desbloqueá-la automaticamente para você, depende do ambiente de área de trabalho que você está usando.

Copie o arquivo ~ / .ssh / id_rsa.pub para o remotehost: ~ / .ssh / authorized_keys

scp ~/.ssh/id_rsa.pub user@remotehost:~/
ssh user@remotehost
mkdir .ssh 
cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

e faça logout. Então edite seu próprio ~ / .ssh / config e coloque uma entrada como

Host router
    Hostname 192.168.1.1
    User routerusername
    Port 22

O nome dado na primeira linha Host não precisa ser um nome DNS, pode ser um apelido ou o que você quiser. O arquivo de configuração suporta todas as opções de linha de comando, como o encaminhamento do X, etc. Você pode até apontar para diferentes arquivos de identidade para hosts diferentes ....

Agora, basta fazer

ssh router

E você estará logado automaticamente.

    
por 08.12.2016 / 05:21