Class Net::SSH::HostKeyMismatch

  1. lib/net/ssh/errors.rb

Raised when the cached key for a particular host does not match the key given by the host, which can be indicative of a man-in-the-middle attack. When rescuing this exception, you can inspect the key fingerprint and, if you want to proceed anyway, simply call the remember_host! method on the exception, and then retry.

Methods

public instance

  1. []
  2. fingerprint
  3. host
  4. ip
  5. key
  6. port
  7. remember_host!

Public instance methods

[] (key)

An accessor for getting at the data that was used to look up the host (see also fingerprint, host, port, ip, and key).

[show source]
    # File lib/net/ssh/errors.rb, line 49
49:     def [](key)
50:       @data && @data[key]
51:     end
fingerprint ()

Returns the fingerprint of the key for the host, which either was not found or did not match.

[show source]
    # File lib/net/ssh/errors.rb, line 55
55:     def fingerprint
56:       @data && @data[:fingerprint]
57:     end
host ()

Returns the host name for the remote host, as reported by the socket.

[show source]
    # File lib/net/ssh/errors.rb, line 60
60:     def host
61:       @data && @data[:peer] && @data[:peer][:host]
62:     end
ip ()

Returns the IP address of the remote host, as reported by the socket.

[show source]
    # File lib/net/ssh/errors.rb, line 70
70:     def ip
71:       @data && @data[:peer] && @data[:peer][:ip]
72:     end
key ()

Returns the key itself, as reported by the remote host.

[show source]
    # File lib/net/ssh/errors.rb, line 75
75:     def key
76:       @data && @data[:key]
77:     end
port ()

Returns the port number for the remote host, as reported by the socket.

[show source]
    # File lib/net/ssh/errors.rb, line 65
65:     def port
66:       @data && @data[:peer] && @data[:peer][:port]
67:     end
remember_host! ()

Tell Net::SSH to record this host and key in the known hosts file, so that subsequent connections will remember them.

[show source]
    # File lib/net/ssh/errors.rb, line 81
81:     def remember_host!
82:       @callback.call
83:     end