AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 736487
Accepted
Mévatlavé Kraspek
Mévatlavé Kraspek
Asked: 2023-02-23 00:14:05 +0800 CST2023-02-23 00:14:05 +0800 CST 2023-02-23 00:14:05 +0800 CST

在 Vagrant 中打开 Solaris11:无法与 127.0.0.1 端口 2222 协商:找不到匹配的主机密钥类型。他们提供:ssh-rsa,ssh-dss

  • 772

我使用这个 Vagrantfile:

Vagrant.configure("2") do |config|

  config.vm.box = "jonatasbaldin/solaris11"
  config.vm.box_version = "1.0.0"
  
end

成功vagrant up,但vagrant ssh退出时返回 255 代码,根本没有任何输出。要调试,我做

$ ssh -v vagrant@localhost -p 2222

我得到:

$ 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

尝试了很多来自网络搜索的解决方案,但没有成功。有什么提示吗?

在 virtualbox tty 上,我得到sshd[1234]: fatal: no hostkey alg

ssh
  • 2 2 个回答
  • 20 Views

2 个回答

  • Voted
  1. Best Answer
    bk2204
    2023-02-25T07:04:17+08:002023-02-25T07:04:17+08:00

    在 SSH 协议中,有不同类型的密钥,每种密钥允许一种或多种签名算法。服务器端使用的密钥类型是 RSA ( ssh-rsa) 和 DSA ( ssh-dss) 密钥。对于 RSA 密钥,存在三种签名:ssh-rsa(SHA-1)、rsa-sha2-256(SHA-256) 和rsa-sha2-512(SHA-512)。只有后两种类型的签名是安全的;较旧的ssh-rsa签名类型和所有使用 SHA-1 的签名ssh-dss,它已过时且不安全。(所用 DSA 密钥的大小也严重不足现代标准。)

    不幸的是,您使用的 VM 仅支持不安全的算法,因此没有安全的方式连接到它。最好的办法是为更安全的操作系统或更安全的操作系统配置使用不同的映像。

    如果您绝对必须使用此映像,则可以运行ssh -o HostKeyAlgorithms=+ssh-rsa -p 2222 vagrant@localhost以启用不安全ssh-rsa算法并进行连接。

    • 1
  2. Mévatlavé Kraspek
    2023-02-26T04:28:01+08:002023-02-26T04:28:01+08:00

    我在 bk2204 的帮助下做了什么:

    在Vagrantfile:

      config.ssh.config = "ssh_config"
      config.vm.provision "shell", inline: <<-SHELL
      cat /path/to/.ssh/id_rsa.pub >> /export/home/vagrant/.ssh/authorized_keys
    SHELL
    

    在ssh_config;

    User vagrant
    HostKeyAlgorithms=+ssh-rsa
    PubkeyAuthentication yes
    IdentityFile /path/to/solaris/id_dsa
    

    但是用密钥对登录是不够的,即使我修改了sshd配置:

    PasswordAuthentication no
    PubkeyAuthentication yes
    
    • 0

相关问题

  • 为什么 ssh 实用程序被视为 pty?

  • Auto-SSH 手动工作,但不在后台工作

  • 远程运行 X 应用程序,在远程主机上运行 GUI [关闭]

  • rsync 端口 22 和 873 使用

  • SCP突然中止:管道损坏,消息验证码不正确

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve