Skip to content

Instantly share code, notes, and snippets.

@byroot
Created July 23, 2016 08:49
Show Gist options
  • Save byroot/37d40fd9e2883c40aef00bfc40c0931d to your computer and use it in GitHub Desktop.
Save byroot/37d40fd9e2883c40aef00bfc40c0931d to your computer and use it in GitHub Desktop.
byroot@raplh:byroot:$ MISSING_KEY=1 SSHKIT_VERSION=1.10.0 ruby repro-sshkit.rb
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies...
Using net-ssh 3.2.0
Using bundler 1.12.3
Using net-scp 1.2.1
Using sshkit 1.10.0
INFO [a3263e4e] Running /usr/bin/env echo foo as git@github.com
-- Content of known_hosts file:
github.com,192.30.253.113 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
byroot@raplh:byroot:$ MISSING_KEY=1 SSHKIT_VERSION=1.11.1 ruby repro-sshkit.rb
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies...
Using net-ssh 3.2.0
Using bundler 1.12.3
Using net-scp 1.2.1
Using sshkit 1.11.1
INFO [dfffff00] Running /usr/bin/env echo foo as git@github.com
-- Content of known_hosts file:
github.com,192.30.253.113 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
byroot@raplh:byroot:$ SSHKIT_VERSION=1.10.0 ruby repro-sshkit.rb
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies...
Using net-ssh 3.2.0
Using bundler 1.12.3
Using net-scp 1.2.1
Using sshkit 1.10.0
-- Writing incorrect github.com key into /tmp/known_hosts
INFO [773ff86e] Running /usr/bin/env echo foo as git@github.com
Net::SSH::HostKeyMismatch: fingerprint 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 does not match for "github.com,192.30.253.113"
-- Content of known_hosts file:
github.com,192.30.253.113 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiJEEAaQ==
byroot@raplh:byroot:$ SSHKIT_VERSION=1.11.1 ruby repro-sshkit.rb
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies...
Using net-ssh 3.2.0
Using bundler 1.12.3
Using net-scp 1.2.1
Using sshkit 1.11.1
-- Writing incorrect github.com key into /tmp/known_hosts
INFO [b506fb6e] Running /usr/bin/env echo foo as git@github.com
Net::SSH::HostKeyMismatch: fingerprint 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 does not match for "github.com,192.30.253.113"
-- Content of known_hosts file:
github.com,192.30.253.113 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiJEEAaQ==
begin
require 'bundler/inline'
rescue LoadError => e
$stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
raise e
end
gemfile(true) do
source 'https://rubygems.org'
# Activate the gem you are reporting the issue against.
gem 'sshkit', ENV['SSHKIT_VERSION'] || '1.11.1'
end
require 'sshkit'
require 'sshkit/dsl'
include SSHKit::DSL
if ENV['MISSING_KEY']
File.write('/tmp/known_hosts', '')
else
puts "-- Writing incorrect github.com key into /tmp/known_hosts"
File.write('/tmp/known_hosts', 'github.com,192.30.253.113 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiJEEAaQ==')
end
SSHKit::Backend::Netssh.configure do |ssh|
ssh.ssh_options = {
known_hosts: SSHKit::Backend::Netssh::KnownHosts.new,
user_known_hosts_file: '/tmp/known_hosts'
}
end
begin
on %w(git@github.com) do
execute :echo, "foo"
end
rescue SSHKit::Runner::ExecuteError
# Can't exec stuff on github
rescue Net::SSH::HostKeyMismatch => error
puts "#{error.class.name}: #{error.message}"
end
puts "-- Content of known_hosts file:"
puts File.read('/tmp/known_hosts')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment