Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Host key verification failed #1213

Open
mikwee opened this issue Feb 18, 2023 · 3 comments
Open

Host key verification failed #1213

mikwee opened this issue Feb 18, 2023 · 3 comments
Labels
bug v1 An issue or PR relevant to packer v2

Comments

@mikwee
Copy link

mikwee commented Feb 18, 2023

  • nvim --version:
NVIM v0.8.3
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compiled by runneradmin@fv-az171-224

Features: -acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM\sysinit.vim"
  fall-back for $VIM: "C:/Program Files (x86)/nvim/share/nvim"

Run :checkhealth for more info
  • git --version: git version 2.24.1.windows.2
  • Operating system/version: W10
  • Terminal name/version: Neovide

Steps to reproduce

  1. Add use 'nvim-treesitter/treesitter' to plugins.lua
  2. Restart Neovim
  3. Use :PackerSync
  4. Get the following error for treesitter: fatal: could not read Username for 'https://github.com': terminal prompts disabled
  5. Follow these tutorials to generate an SSH key and put it in GitHub, then type git config --global url.ssh://git@github.com/.insteadOf https://github.com/ into Git Bash (So basically, follow terminal prompts disabled #748)
  6. Restart Neovim
  7. Use :PackerSync

Actual behaviour

Got the following error for all plugins:

Cloning into 'C:\Users\mikwee\AppData\Local\nvim-data\site\pack\packer\start\[NAME OF PACKAGE]'...
    Host key verification failed.
    fatal: Could not read from remote repository.
    Please make sure you have the correct access rights
    and the repository exists.

Expected behaviour

I expect Packer to install all specified packages correctly.

packer files

Plugin specification file(s)

You mean plugins.lua? Here it is:

local ensure_packer = function()
  local fn = vim.fn
  local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
  if fn.empty(fn.glob(install_path)) > 0 then
    fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
    vim.cmd [[packadd packer.nvim]]
    return true
  end
  return false
end

local packer_bootstrap = ensure_packer()

return require('packer').startup(function(use)
  use 'wbthomason/packer.nvim'
  use 'ellisonleao/gruvbox.nvim'
  use 'nvim-tree/nvim-tree.lua'
  use 'nvim-tree/nvim-web-devicons'
  use 'nvim-lualine/lualine.nvim'
  use 'nvim-treesitter/treesitter'
  use {
	'nvim-telescope/telescope.nvim',
	tag = '0.1.0',
	requires = { {'nvim-lua/plenary.nvim'} }
  }


  -- Automatically set up your configuration after cloning packer.nvim
  -- Put this at the end after all plugins
  if packer_bootstrap then
    require('packer').sync()
  end
end)
packer log file
[WARN  18/02/2023 00:05:38 38006809283100] ...ite\pack\packer\start\packer.nvim/lua/packer/display.lua:812: No plugin selected!
[WARN  18/02/2023 00:05:58 38026952738000] ...ite\pack\packer\start\packer.nvim/lua/packer/display.lua:711: No plugin selected!
[WARN  18/02/2023 00:06:06 38034808999600] ...ite\pack\packer\start\packer.nvim/lua/packer/display.lua:711: No plugin selected!
[WARN  18/02/2023 00:06:06 38035241346200] ...ite\pack\packer\start\packer.nvim/lua/packer/display.lua:711: No plugin selected!
[WARN  18/02/2023 00:39:22 40031658395200] ...ite\pack\packer\start\packer.nvim/lua/packer/display.lua:730: Unable to find the diff for this line
packer compiled file

packer_compiled.lua for me, but here it goes:

-- Automatically generated packer.nvim plugin loader code

if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
  vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
  return
end

vim.api.nvim_command('packadd packer.nvim')

local no_errors, error_msg = pcall(function()

_G._packer = _G._packer or {}
_G._packer.inside_compile = true

local time
local profile_info
local should_profile = false
if should_profile then
  local hrtime = vim.loop.hrtime
  profile_info = {}
  time = function(chunk, start)
    if start then
      profile_info[chunk] = hrtime()
    else
      profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
    end
  end
else
  time = function(chunk, start) end
end

local function save_profiles(threshold)
  local sorted_times = {}
  for chunk_name, time_taken in pairs(profile_info) do
    sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
  end
  table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
  local results = {}
  for i, elem in ipairs(sorted_times) do
    if not threshold or threshold and elem[2] > threshold then
      results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
    end
  end
  if threshold then
    table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
  end

  _G._packer.profile_output = results
end

time([[Luarocks path setup]], true)
local package_path_str = "C:\\Users\\mikwee\\AppData\\Local\\Temp\\nvim\\packer_hererocks\\2.1.0-beta3\\share\\lua\\5.1\\?.lua;C:\\Users\\mikwee\\AppData\\Local\\Temp\\nvim\\packer_hererocks\\2.1.0-beta3\\share\\lua\\5.1\\?\\init.lua;C:\\Users\\mikwee\\AppData\\Local\\Temp\\nvim\\packer_hererocks\\2.1.0-beta3\\lib\\luarocks\\rocks-5.1\\?.lua;C:\\Users\\mikwee\\AppData\\Local\\Temp\\nvim\\packer_hererocks\\2.1.0-beta3\\lib\\luarocks\\rocks-5.1\\?\\init.lua"
local install_cpath_pattern = "C:\\Users\\mikwee\\AppData\\Local\\Temp\\nvim\\packer_hererocks\\2.1.0-beta3\\lib\\lua\\5.1\\?.so"
if not string.find(package.path, package_path_str, 1, true) then
  package.path = package.path .. ';' .. package_path_str
end

if not string.find(package.cpath, install_cpath_pattern, 1, true) then
  package.cpath = package.cpath .. ';' .. install_cpath_pattern
end

time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
  local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
  if not success then
    vim.schedule(function()
      vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
    end)
  end
  return result
end

time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
  ["gruvbox.nvim"] = {
    loaded = true,
    path = "C:\\Users\\mikwee\\AppData\\Local\\nvim-data\\site\\pack\\packer\\start\\gruvbox.nvim",
    url = "https://github.com/ellisonleao/gruvbox.nvim"
  },
  ["lualine.nvim"] = {
    loaded = true,
    path = "C:\\Users\\mikwee\\AppData\\Local\\nvim-data\\site\\pack\\packer\\start\\lualine.nvim",
    url = "https://github.com/nvim-lualine/lualine.nvim"
  },
  ["nvim-tree.lua"] = {
    loaded = true,
    path = "C:\\Users\\mikwee\\AppData\\Local\\nvim-data\\site\\pack\\packer\\start\\nvim-tree.lua",
    url = "https://github.com/nvim-tree/nvim-tree.lua"
  },
  ["nvim-web-devicons"] = {
    loaded = true,
    path = "C:\\Users\\mikwee\\AppData\\Local\\nvim-data\\site\\pack\\packer\\start\\nvim-web-devicons",
    url = "https://github.com/nvim-tree/nvim-web-devicons"
  },
  ["packer.nvim"] = {
    loaded = true,
    path = "C:\\Users\\mikwee\\AppData\\Local\\nvim-data\\site\\pack\\packer\\start\\packer.nvim",
    url = "https://github.com/wbthomason/packer.nvim"
  },
  ["plenary.nvim"] = {
    loaded = true,
    path = "C:\\Users\\mikwee\\AppData\\Local\\nvim-data\\site\\pack\\packer\\start\\plenary.nvim",
    url = "https://github.com/nvim-lua/plenary.nvim"
  },
  ["telescope.nvim"] = {
    loaded = true,
    path = "C:\\Users\\mikwee\\AppData\\Local\\nvim-data\\site\\pack\\packer\\start\\telescope.nvim",
    url = "https://github.com/nvim-telescope/telescope.nvim"
  },
  treesitter = {
    loaded = true,
    path = "C:\\Users\\mikwee\\AppData\\Local\\nvim-data\\site\\pack\\packer\\start\\treesitter",
    url = "https://github.com/nvim-treesitter/treesitter"
  }
}

time([[Defining packer_plugins]], false)

_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
  vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false

if should_profile then save_profiles() end

end)

if not no_errors then
  error_msg = error_msg:gsub('"', '\\"')
  vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end
@mikwee mikwee added bug v1 An issue or PR relevant to packer v2 labels Feb 18, 2023
@itsfarseen
Copy link

Host key verification failed is an ssh issue, not a packer issue. You can verify this by trying to git clone the package yourself.

This happens when the fingerprint of the host changes.
This must not happen for github. This usually means someone's doing an MITM attack.

I don't know how to debug this on windows. On Linux the host keys are stored in ~/.ssh/known_hosts.
The first time you connect to a host, it's key gets stored here. If someone tries to MITM you, ssh will be able to detect this and it will say that the key is different from the one that we first encountered.

@mikwee
Copy link
Author

mikwee commented Mar 25, 2023

I've since removed my key from GitHub, and this issue keeps happening only with Packer.

@itsfarseen
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug v1 An issue or PR relevant to packer v2
Projects
None yet
Development

No branches or pull requests

2 participants