Preciso configurar sessões ssh entre dois servidores e não quero que o script preencha o nome de usuário e a senha todas as vezes.
No entanto, parece que não consigo descobrir de onde o servidor SSH está usando sua configuração.
bash-2.05# ssh -V
Sun_SSH_1.1, SSH protocols 1.5/2.0, OpenSSL 0x0090700f
Eu tenho o arquivo de arquivos de certificado em / etc / ssh / e ~ / .ssh /. Só consigo encontrar um arquivo de configuração para SSH e ele está em / etc / ssh / ssh_config, mas não contém dados (tudo está comentado).
Alguém sabe como posso descobrir onde o certificado está armazenado ou como posso exportá-lo para transferi-lo para outro servidor? Eu esperava que os arquivos de configuração me dessem a resposta, mas eles fornecem pouca ou nenhuma ajuda.
fonte
Você precisa encontrar a chave pública ssh para o usuário que será o usuário de logon do script.
Por exemplo, se eu tiver serverA e serverB, faria o seguinte.
então faça algo semelhante no ServerB
Em seguida, no serverA, coloque a chave pública do usuário do scriptrunner do serverB em
/home/scriptrunner/.ssh/authorized_keys
e faça o oposto no serverB (usando o usuário do scriptA do serverA
/home/scriptrunner/.ssh/authorized_keys
em protected_keys no serverB)Então você deve conseguir fazer isso
ssh scriptrunner@serverA
no serverB usando a chave e vice-versa.Você também pode usar
ssh-copy-id
o bit autorizado_chave.fonte
Para estabelecer uma conexão ssh com a autenticação de chave pública, o usuário que inicia a conexão precisa ter um par de chaves pública / privada. Em muitas distribuições Linux, essas chaves não são geradas por padrão e precisam ser geradas pelo próprio usuário (ou pelo administrador em seu nome).
Se você está logado como usuário relevante, vá para o seu diretório pessoal e execute
Aceite todos os padrões e um novo par de chaves será criado em ~ / .ssh / id_rsa e ~ / .ssh / id_rsa.pub. Agora copie a chave pública e cole-a no arquivo ~ / .ssh / allowed_keys da conta de usuário de destino na máquina de destino. Em seguida, ative a autenticação de chave pública na máquina de destino (em / etc / ssh / sshd_config) e você deve estar pronto.
NOTA : existem muitas armadilhas possíveis nesse processo quando você faz pela primeira vez. Todas as permissões devem estar corretas e os arquivos devem estar nos lugares certos. Provavelmente é melhor se você seguir um tutorial como este .
fonte