无法使用不安全的私钥通过 ssh 连接到 vagrant VM(vagrant 1.7.2)

2024-02-23

我有一个包含 3 个虚拟机的集群。这是 Vagrant 文件:

 # -*- mode: ruby -*-
# vi: set ft=ruby :


hosts = {
  "host0" => "192.168.33.10",
  "host1" => "192.168.33.11",
  "host2" => "192.168.33.12"
}

Vagrant.configure("2") do |config|
  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.ssh.private_key_path = File.expand_path('~/.vagrant.d/insecure_private_key')

  hosts.each do |name, ip|
    config.vm.define name do |machine|
      machine.vm.hostname = "%s.example.org" % name
      machine.vm.network :private_network, ip: ip
      machine.vm.provider "virtualbox" do |v|
          v.name = name
      #    #v.customize ["modifyvm", :id, "--memory", 200]
      end
    end
  end
end

这曾经有效,直到我最近升级:

ssh -i ~/.vagrant.d/insecure_private_key [email protected] /cdn-cgi/l/email-protection

相反,vagrant 会要求输入密码。

看来最新版本的 vagrant (我使用的是 1.7.2)为每台机器创建了一个安全的私钥。我通过运行发现了它

vagrant ssh-config

输出显示每个主机的不同密钥。我通过比较它们来验证密钥是不同的。

我尝试通过在 Vagrantfile 中设置 config.ssh.private_key_path 来强制使用不安全的密钥,但它不起作用。

我想对所有机器使用不安全密钥的原因是我想使用 ansible 从外部配置它们。我不想使用 Ansible 配置程序,而是将虚拟机视为远程服务器。因此,Vagrantfile 只是用来指定集群中的机器,然后在外部进行配置。

文档仍然说默认情况下机器将使用不安全的私钥。

如何让我的虚拟机使用不安全的私钥?


Vagrant 更改了 1.6 和 1.7 版本之间的行为,现在将插入自动生成的不安全密钥而不是默认密钥。

您可以通过设置来取消此行为config.ssh.insert_key = false在你的 Vagrantfile 中。

如果您指定,Vagrant 不应替换不安全的密钥private_key_path就像你所做的那样,但是内部逻辑检查是否private_key_path指向默认值insecure_private_key,如果确实如此,Vagrant 将取代它。

更多信息可以找到here https://github.com/mitchellh/vagrant/issues/4967.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用不安全的私钥通过 ssh 连接到 vagrant VM(vagrant 1.7.2) 的相关文章

  • 如何为函数启用 bash 自动完成功能?

    我已经阅读了关于 bash 自动完成的教程bash补全简介 http www debian administration org article 316 An introduction to bash completion part 1我正
  • 健全性检查 SSH 公钥? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已要求用户提供他们的公共 id rsa pub ssh 密钥 然后将其放入 home theiraccount ssh authorized key
  • Capistrano 和 GitHub Private Repo – 权限被拒绝(公钥)

    我继承了一个托管在 Linode 上的 Rails 项目 之前的开发人员使用 BitBucket 存储库以及 Capistrano 进行部署 我已经在 GitHub 上设置了一个私人存储库 并且正在尝试让 Capistrano 配方发挥作用
  • 与 ssh2_connect() 断开连接

    我已经使用 ssh2 连接ssh2 connect到服务器 但我没有看到任何方法在联机帮助页中 http php net ssh2 connect我应该如何结束连接 我不太喜欢在断开连接之前等待脚本结束 我可以用吗fclose 这听起来不对
  • Vagrant - Homestead 设置多个站点

    我已经使用 homestead yaml 映射了文件夹等 ip 192 168 10 10 folders map Users User Desktop folder Homestead First to home vagrant Firs
  • Vagrant 提供,无法启动 grunt

    我正在尝试让 vagrant 安装 nodejs 正常运行所需的所有内容 然后在节点项目的根文件夹上执行 nohup grunt server 之后 我期望服务器在端口 3030 上侦听 但事实并非如此 如果在配置后我这样做 流浪者 ssh
  • 如何使用java与防火墙(路由器)建立ssh连接?

    由于某种原因 我需要连接到防火墙 基于Linux 并使用Java添加一些规则 用google搜索了一段时间后 我发现jsch是我最好的选择 但是当我 用它来执行命令 显示主机名 例如 返回错误 如果我 执行类似命令 ls l and who
  • 如何配置 Ansible 跳过两个堡垒主机?

    我想编写一个 Ansible 剧本 使用 Ansible 2 7 5 它将在到达目标服务器之前跳过两个主机来执行诸如安装 docker 和 python 等操作 我能够让 Ansible 通过一台主机跳转到server1通过将其添加到我的h
  • 通过 SFTP 克隆 Git 存储库

    每次我尝试克隆 Git 存储库时都会遇到致命错误 我运行这个 git clone sftp email protected cdn cgi l email protection git foobar git 我得到这个 fatal Unab
  • Paramiko ValueError“p 的长度必须恰好为 1024、2048 或 3072 位”

    我正在尝试使用 Python 脚本连接 SFTP 由于 p 错误 我无法连接 import paramiko client paramiko SSHClient client load system host keys client con
  • 通过将密码与命令一起传递,使用 powerShell 脚本进行 ssh

    如果我输入 我可以从 PowerShell ssh 到服务器 ssh 用户名 主机 这会提示输入密码 我输入有效的密码 但我试图编写一个脚本 通过 ssh 进入服务器执行一些脚本并返回 所以我必须传递密码和命令我该怎么做 关于 shell
  • Laravel Homestead 中 npm 安装错误有解决方案吗?

    Windows 10 家园 虚拟盒6 0 8 流浪者2 2 5 节点 v12 5 0 npm v6 10 1 我想做的就是在新安装的 Laravel 应用程序中执行 npm install 命令 但我不断收到错误 经过两天的谷歌搜索并尝试了
  • 在哪里可以找到config.vm.boot_timeout?

    您好 我想编辑 vagrant 中的 config vm boot timeout 因为我在启动 vagrant 时遇到问题 我在哪里可以找到 config vm boot timeout 我应该输入什么值 我在windows8 1 x86
  • 无法从 Sourcetree 拉取 Git 远程存储库

    我生成了 ssh 密钥并配置了我的 git 和 SourceTree 我可以 git pull 并从 Git bash 执行其他操作 注意 我在 bashrc 中添加了以下内容以使其正常工作 eval ssh agent ssh add 然
  • 自定义 SSH 端口上的 Git

    我的 VPS 提供商建议我将 SSH 端口保留为他们默认分配的自定义端口号 不是 22 问题是 虽然我知道我可以在创建远程配置时提供端口号 但在进行 Git 克隆时似乎无法提供相同的操作 我在用gitolite https wiki arc
  • ssh远程变量赋值?

    以下内容对我不起作用 ssh email protected cdn cgi l email protection k 5 echo k 它只是返回一个空行 如何在远程会话 ssh 上分配变量 Note 我的问题是not关于如何将本地变量传
  • 从 python 发起 SSH 隧道时出现问题

    目标是在卫星服务器和集中式注册数据库之间建立 n 个 ssh 隧道 我已经在我的服务器之间设置了公钥身份验证 因此它们只需直接登录而无需密码提示 怎么办 我试过帕拉米科 它看起来不错 但仅仅建立一个基本的隧道就变得相当复杂 尽管代码示例将受
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • Laravel/Homestead - OSX - Vagrant 连接超时

    Problem 我正在尝试让 Laravel Homestead 在我的 Mac Book Air 上运行 我已按照以下指示进行操作http laravel com docs 4 2 homestead http laravel com d
  • 无法通过 Python 子进程进行 SSH

    我需要通过堡垒 ssh 进入机器 因此 该命令相当长 ssh i

随机推荐

  • 如何保存Animation.Artist动画?

    我有个问题 我的程序运行良好 但是当我尝试保存绘制的动画时 编译器响应错误 代码 import matplotlib pyplot as plt import matplotlib image as mpimg import matplot
  • VoiceOver 导航控制器中后退按钮的辅助功能提示

    有没有办法为后退按钮设置accessibilityHint 我想先读一下画外音 后退按钮 以及此提示之后 例如 双击返回选择建筑屏幕 我正在尝试这样做 但它不起作用 在 viewDidLoad 中 super viewDidLoad bac
  • PHPMailer 地址无效

    我想发送一封邮件PHPMailer https github com PHPMailer PHPMailer 我使用此代码 但出现此错误 无效地址 电子邮件受保护 cdn cgi l email protection 我在 StackOve
  • 如何禁用量角器中的动画?

    我在谷歌上找到了一些答案 但它们似乎不适用于我的项目 一些答案谈到了向其添加一些代码conf js file s onPrepare 函数 但我的项目中没有该文件 我有一个名为protractor config js 默认情况下位于 Ang
  • hg 克隆时出现“流意外结束”错误

    我正在尝试通过 hg 从 bitbucket 克隆一个位存储库 但我不断收到此错误 abort stream ended unexpectedly got 404093 bytes expected 8706452 mac user hg
  • 在 Xamarin 中自动将 aps 环境从开发环境转换为生产环境

    在我的 Xamarin iOS 项目中 Entitlements plist 有aps environment set to development 用于开发测试目的 我正在使用适用于 App Store 的 Visual Studio T
  • 如何使面板充满屏幕直至页脚?

    我希望我的面板占据所有屏幕 直到页脚 即使面板是空的 如果面板已满 我想滚动查看内容 但页脚应始终在页面底部可见 你有主意吗 这是代码 list mobile footer position absolute bottom 0 right
  • 自动运行php脚本

    我有一个 php 脚本 应该每天自动运行 由于 php 脚本是根据请求运行的 我该怎么做 还有其他方法使用 cronjob 任务吗 两种选择 使用crontab恶魔 雇用一名工人并让他每 24 小时在浏览器中打开一次脚本 这是你的选择 要使
  • django模板中父子关系的树形结构

    我如何在 django 模板中实现树结构而不使用 django mptt 我有模型 class Person TimeStampedModel name models CharField max length 32 parent model
  • 如何在Android应用程序中点击后隐藏通知

    这是在服务开始时发出通知的代码 NotificationCompat Builder mbuild new NotificationCompat Builder getApplicationContext Intent in new Int
  • 如何注册应用程序以在 iPad 中打开我的应用程序中的 pdf 文件

    我想从 pdf 页面在我的应用程序中打开 pdf 文件 但我没有在我的应用程序中打开 pdf 的任何选项 这是我的 info plist 文件
  • 为什么 git稀疏结帐 会导致致命错误?

    这是我的命令git我正在 Windows 中运行 以稀疏存储库中的签出文件夹 git clone verbose filter blob none no checkout depth 1 sparse https user email pr
  • \x1a 字符的含义是什么

    什么是 x1a字符的含义以及为什么mysql real escape string逃避吗 从文档中 mysql real escape string 调用 MySQL 的库函数 mysql real escape string 该函数在以下
  • 获取两个标题之间的差异

    我有这个方法来计算 2 个 0 360 罗盘方向之间的差异 尽管这可以计算出我的绝对偏差 例如 始终为正输出 有多远 但我无法弄清楚需要做什么才能将符号引入到输出中 理想情况下 如果从初始航向到最终航向的最短距离是顺时针旋转 我希望erro
  • 如何在rpart中应用权重?

    我有 Kaggle 实践竞赛中的房屋数据 我正在使用 rpart 训练一个简单的第一个模型来预测销售价格 该模型无法正确识别销售状况异常或预付款的销售 因此 我想增加这个在模型中显然被忽略的变量的重要性 我假设这是通过使用 权重 参数来完成
  • .ssh/config:Mac OS Sierra 10.12.6 上的“错误配置选项:UseKeychain”

    我正在尝试在 Mac Mac OS Sierra 10 12 6 上设置 ssh 配置 以便将 ssh 密钥的密码存储在钥匙串中 以前我可以这样做 ssh add K ssh id rsa 但最近这个方法似乎不再起作用了 下列的本文 htt
  • USB 传输数据

    我正在尝试通过 USB 发送和接收数据 我的设备 Acer Iconia A500 拥有连接到设备所需的一切 一切都很好并且工作正常 但是当我尝试发送和接收数据时 它的行为并不像预期的 这是我的代码 for this is the main
  • git pull --rebase 上游 master 污染了我的 Github PR diff

    在按照维护人员的要求更改 PR 之前 我会执行以下操作git pull rebase upstream master将我的提交置于代码库中其他新提交之上 然而 这似乎污染我的 PR 的差异 https github com pandas d
  • preg_match() 和用户名

    function isUserID username if preg match a z d 2 20 i username return true else return false 简单的 我有这个 你能解释一下它检查什么吗 我知道它会
  • 无法使用不安全的私钥通过 ssh 连接到 vagrant VM(vagrant 1.7.2)

    我有一个包含 3 个虚拟机的集群 这是 Vagrant 文件 mode ruby vi set ft ruby hosts host0 gt 192 168 33 10 host1 gt 192 168 33 11 host2 gt 192