Eu uso este Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.box = "jonatasbaldin/solaris11"
config.vm.box_version = "1.0.0"
end
O vagrant up
é bem-sucedido, mas vagrant ssh
sai com o código de retorno 255 sem nenhuma saída. Para depurar, eu faço
$ ssh -v vagrant@localhost -p 2222
Eu recebo:
$ ssh -v vagrant@localhost -p 2222
OpenSSH_8.9p1 Ubuntu-3ubuntu0.1, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /home/mevatlave/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 267: Applying options for localhost
debug1: /etc/ssh/ssh_config line 288: Applying options for *
debug1: Connecting to localhost [127.0.0.1] port 2222.
debug1: Connection established.
debug1: identity file /home/mevatlave/.ssh/id_rsa type 0
debug1: identity file /home/mevatlave/.ssh/id_rsa-cert type -1
debug1: identity file /home/mevatlave/.ssh/id_ecdsa type -1
debug1: identity file /home/mevatlave/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/mevatlave/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/mevatlave/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/mevatlave/.ssh/id_ed25519 type -1
debug1: identity file /home/mevatlave/.ssh/id_ed25519-cert type -1
debug1: identity file /home/mevatlave/.ssh/id_ed25519_sk type -1
debug1: identity file /home/mevatlave/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /home/mevatlave/.ssh/id_xmss type -1
debug1: identity file /home/mevatlave/.ssh/id_xmss-cert type -1
debug1: identity file /home/mevatlave/.ssh/id_dsa type -1
debug1: identity file /home/mevatlave/.ssh/id_dsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.1
debug1: Remote protocol version 2.0, remote software version Sun_SSH_2.2
debug1: compat_banner: no match: Sun_SSH_2.2
debug1: Authenticating to localhost:2222 as 'vagrant'
debug1: load_hostkeys: fopen /home/mevatlave/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group-exchange-sha256
debug1: kex: host key algorithm: (no match)
Unable to negotiate with 127.0.0.1 port 2222: no matching host key type found. Their offer: ssh-rsa,ssh-dss
Tentei muitas soluções de pesquisas na web sem sorte. Alguma dica?
No virtualbox tty, recebosshd[1234]: fatal: no hostkey alg
No protocolo SSH, existem diferentes tipos de chaves e cada tipo de chave permite um ou mais algoritmos de assinatura. O tipo de chave usado aqui no lado do servidor são as chaves RSA (
ssh-rsa
) e DSA (ssh-dss
). Com chaves RSA, existem três tipos de assinaturas:ssh-rsa
(SHA-1),rsa-sha2-256
(SHA-256) ersa-sha2-512
(SHA-512). Apenas os dois últimos tipos de assinaturas são seguros; ossh-rsa
tipo de assinatura mais antigo e todas as assinaturas parassh-dss
uso SHA-1, que é obsoleto e inseguro. (O tamanho das chaves DSA usadas também é totalmente inadequado para os padrões modernos.)Infelizmente, a VM que você está usando oferece suporte apenas a algoritmos inseguros, portanto, não há uma maneira segura de se conectar a ela. A melhor coisa a fazer é usar uma imagem diferente para um sistema operacional mais seguro ou uma configuração mais segura do sistema operacional.
Se você absolutamente precisar usar esta imagem, poderá executá-la
ssh -o HostKeyAlgorithms=+ssh-rsa -p 2222 vagrant@localhost
para ativar ossh-rsa
algoritmo inseguro e conectar-se.O que fiz com a ajuda do bk2204:
Em
Vagrantfile
:Em
ssh_config
;Mas não é suficiente fazer login com o par de chaves, mesmo que eu modifique a configuração do sshd: