Como automatizar o SSHing para um servidor antes do SSHing para outro?

3

Estou testando uma configuração de segurança para bloquear o acesso a alguns servidores externos, configurando um servidor de gateway. Isso significa que todos terão que enviar o ssh para o servidor de gateway antes de conectar a um servidor externo.

Até agora, a configuração tem os usuários fazendo logon no servidor gateway como um usuário comum (admin) usando sua própria chave ssh e senhas desabilitadas. Em seguida, sshing para um servidor externo como este usuário comum.

O que estou procurando é uma maneira de automatizar o ssh hop inicial para que um usuário possa digitar ssh <external server> e o primeiro ssh seja configurado para eles de alguma forma (ssh tunnel / bash alias?).

Qual seria o melhor método, se é mesmo possível, para conseguir isso?

    
por ghickman 17.03.2011 / 13:01

2 respostas

2

Putty.

Para fazer apenas um simples ssh, você pode rodar isso com vbs:

Dim ShellRun

Set ShellRun = WScript.CreateObject("WScript.Shell")

ShellRun.Run """C:\Program Files\PuTTY\putty.exe"" -ssh username@server -i ssh.key", 1

Se o nome de usuário for igual ao login do Windows, você pode usar% USERNAME%

Se você quiser configurar algo com tunelamento (como se você precisasse de um túnel através do gateway), seria assim:

Dim ShellRun

Set ShellRun = WScript.CreateObject("WScript.Shell")

ShellRun.Run """C:\Program Files\PuTTY\putty.exe"" -ssh username@server -i ssh.key -L 22:xxx.xxx.xxx.xxx:22", 1

Sem saber como você tem tudo configurado, não posso dar uma resposta exata. Mas você pode configurar o SSH com o tunelamento para o gateway e, em seguida, executar o SSH no túnel até onde você precisa estar depois. Você pode colocar tudo isso em um script, se quiser.

Eu tive que usar instâncias como esta, onde o nosso servidor SSH principal está em uma lista de acesso para um roteador, mas meu computador não está, então eu tenho que tunelar primeiro através do servidor SSH e depois SSH para o roteador. O roteador o vê como um SSH do primeiro servidor SSH e não do meu computador.

    
por 17.03.2011 / 15:55
0

Seria difícil, de alguma forma, encaminhar todas as solicitações para o gateway E fazer com que o servidor gateway detectasse qual servidor foi destinado para acesso sem algumas alterações de infraestrutura bastante complexas.

Talvez um script colocado no / etc / bashrc do servidor de gateway seja apropriado para isso? Por exemplo, a pessoa faria ssh e, depois de ter logado no script, apresentaria um pequeno menu semelhante a "Pressione 1 para o servidor X. Pressione 2 para o servidor Y", et cetera.

    
por 17.03.2011 / 13:20