Como automatizar a sessão SSH para um usuário específico de um IP específico?

1

Eu tenho duas máquinas: Host1 e Host2 conectadas à Internet pública, mas também conectadas por meio de uma LAN privada (para que ambos os hosts tenham um IP público e um IP privado).
- Host1 : 192.168.0.1
- Host2 : 192.168.0.2

Eu preciso automatizar uma sessão SSH do Host1 para o Host2 (ou seja, nenhum prompt de senha). Mas, por motivos de segurança, eu preciso disso (o login automático) para funcionar apenas para um usuário específico tentando se conectar através da LAN privada.

Por exemplo:
se o usuário john @ Host2 estiver tentando se conectar do Host1 através da LAN privada (ou seja, a conexão for proveniente de 192.168.0.1), permita que essa conexão use algum tipo de chave de autenticação e não solicite uma senha.
Se a conexão não for proveniente da LAN privada, não permita um login automático (por exemplo, uma senha deve ser digitada).

Aprecio algumas orientações detalhadas sobre como configurar isso.
Obrigado.

Acompanhamento :

Olhando os links fornecidos, o que eu vi até agora é que toda solução requer que você insira manualmente algum tipo de chave de segurança no momento do login (para o agente ssh) ou depois de reinicializar a máquina ).

É realmente possível automatizar uma sessão SSH que funcione, não importa se a máquina foi reinicializada ou não?

Estou começando a acreditar que a única maneira é inserir a senha automaticamente usando alguma ferramenta quando o SSH a solicitar ... e o problema for resolvido.

    
por GetFree 14.09.2009 / 13:33

3 respostas

2

Para responder à sua pergunta de acompanhamento, se você criar seu par de chaves SSH sem uma senha, não precisará inserir a senha para conectar os servidores.

Você adicionaria o pubkey em .authorized_keys de acordo com este parágrafo:

Key Access Limits

As an optional step to limit usage of the public key for access to any servers, a from statement can be used before public key entries in the ~/.ssh/authorized_keys file on the servers to limit where the client system is permitted to access the server from. Without a from limit, any client system with the appropriate private key data will be able to connect to the server from anywhere. If the keypair should only work when the client system is connecting from a host under example.org, set from="*.example.org" before the public key data.

server$ cat ~/.ssh/authorized_keys
from="*.example.org" ssh-rsa AAAAB3NzaC1…

No "de" você colocaria seu (s) endereço (s) IP da interface local. Usando isso, mais uma combinação de usar uma chave ssh sem uma senha (que não é uma prática recomendada, mas para a maioria dos sistemas funcionará bem), irá realizar o que você está procurando.

    
por 14.09.2009 / 17:31
1
por 14.09.2009 / 13:37
1

Você pode limitar o endereço que pode ser acessado de onde um login baseado em chave pode ser usado.

Consulte a seção sobre os principais limites de acesso aqui .

    
por 14.09.2009 / 13:39