Equivalente de “ssh-keyscan -H” no Solaris 10/11

1

Estou criando um programa Perl que adiciona o host especificado no arquivo known_hosts do root. O programa funciona no AIX e no Linux, mas não no Solaris e, infelizmente, não consigo encontrar seu comando equivalente.

Linha de amostra:

system("ssh-keyscan -H www.myserver.domain >> /.ssh/known_hosts");

Saída:

ssh-keyscan: illegal option -- H Usage: ssh-keyscan [-v46] [-p port] [-T timeout] [-f file] [host | addrlist namelist] [...]

Atualização 1:

Eu tentei o seguinte comando, mas ele ainda pede autenticidade:

system("ssh-keyscan -t rsa www.myserver.domain >> /.ssh/known_hosts");

Atualização 2: Saída externa Perl:

# ssh-keyscan -t rsa www.myserver.domain >> /.ssh/test123.text 
# www.myserver.domain SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3  
# less test123.text
# www.myserver.domain ssh-rsa KEY  
# ssh www.myserver.domain
# The authenticity of host 'www.myserver.domain (IP)' can't be established. RSA key fingerprint is FINGERPRINT. Are you sure you want to continue connecting (yes/no)?
    
por Shan 15.08.2018 / 04:11

1 resposta

0

Olhando para a página man do ssh-keyscan no Solaris 10/11, não parece apoiar esse switch.

Referência: página de manual ssh-keyscan
ssh-keyscan [-v46] [-p port] [-T timeout] [-t type] 
     [-f file] [-] [host... | addrlist namelist] [...]

Acho que você pode fazer ssh-keyscan <hostname> para recuperar as chaves e, em seguida, gravá-las no arquivo ~/.ssh/known_hosts . Isso ainda funcionará, mas não colocará todos os nomes pelos quais o host passa em uma única linha como esta:

hostname1, hostname1.fqdn.com .....

Assim, você pode ter algum trabalho de limpeza para fazer no arquivo known_hosts resultante.

Autenticidade do host

Se você perceber que está encontrando esse problema, o que equivale a uma captura 22, em que não é possível verificar um host que ainda não está presente no arquivo known_hosts :

The authenticity of host 'www.myserver.domain (IP)' can't be established. RSA key fingerprint is FINGERPRINT. Are you sure you want to continue connecting (yes/no)?

Você pode contornar esse problema desativando temporariamente StrictHostKeyChecking :

$ cat ~/.ssh/config
...
StrictHostKeyChecking no
...

Em seguida, faça o comando keyscan <host> ... novamente. Depois de concluir, lembre-se de remover o StrictHostKeyChecking do seu ~/.ssh/config .

Referências

por 15.08.2018 / 04:14

Tags