ssh_scan 0.0.9.beta.2 → 0.0.9.beta.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/lib/ssh_scan/scan_engine.rb +15 -11
- data/lib/ssh_scan/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7dda36f80759ba5493f757b329c60362b80a583a
|
4
|
+
data.tar.gz: 29dcc9160d3d3516fdaf355d1b380faa1a6837a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24bad1d5846a9fd9833596cdfa15091f7f62e62221800148023e3e9fc148321e93eab281c6f29748d6b6c46df517dfaeaf97a50b93ddca5ef9818b4745be38e4
|
7
|
+
data.tar.gz: 7b76d9fd8170ba253a9e7b5547220e0ff28bf779d610f37c0dbc0736b68960efb5dcb6690d0e32d1d39845e54974dae5cdb54a2389a225db3567dd6c34532420
|
data/README.md
CHANGED
@@ -34,10 +34,10 @@ cd ssh_scan
|
|
34
34
|
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
|
35
35
|
curl -sSL https://get.rvm.io | bash -s stable
|
36
36
|
|
37
|
-
# install Ruby 2.1
|
37
|
+
# install Ruby 2.3.1 with rvm,
|
38
38
|
# again, you might have to install missing devel packages
|
39
|
-
rvm install 2.1
|
40
|
-
rvm use 2.1
|
39
|
+
rvm install 2.3.1
|
40
|
+
rvm use 2.3.1
|
41
41
|
|
42
42
|
# resolve dependencies
|
43
43
|
gem install bundler
|
data/lib/ssh_scan/scan_engine.rb
CHANGED
@@ -25,20 +25,24 @@ module SSHScan
|
|
25
25
|
host_key = net_ssh_session.host_keys.first
|
26
26
|
net_ssh_session.close
|
27
27
|
|
28
|
+
fingerprint_md5 = nil
|
29
|
+
fingerprint_sha1 = nil
|
30
|
+
fingerprint_sha256 = nil
|
31
|
+
|
28
32
|
# only supporting RSA for the moment
|
29
|
-
|
30
|
-
|
33
|
+
if host_key.is_a?(OpenSSL::PKey::RSA)
|
34
|
+
data_string = OpenSSL::ASN1::Sequence([
|
35
|
+
OpenSSL::ASN1::Integer.new(host_key.public_key.n),
|
36
|
+
OpenSSL::ASN1::Integer.new(host_key.public_key.e)
|
37
|
+
])
|
38
|
+
|
39
|
+
fingerprint_md5 = OpenSSL::Digest::MD5.hexdigest(data_string.to_der).scan(/../).join(':')
|
40
|
+
fingerprint_sha1 = OpenSSL::Digest::SHA1.hexdigest(data_string.to_der).scan(/../).join(':')
|
41
|
+
fingerprint_sha256 = OpenSSL::Digest::SHA256.hexdigest(data_string.to_der).scan(/../).join(':')
|
42
|
+
else
|
43
|
+
warn("Host key support for #{host_key.class} is not provided yet, fingerprints will not be available")
|
31
44
|
end
|
32
45
|
|
33
|
-
data_string = OpenSSL::ASN1::Sequence([
|
34
|
-
OpenSSL::ASN1::Integer.new(host_key.public_key.n),
|
35
|
-
OpenSSL::ASN1::Integer.new(host_key.public_key.e)
|
36
|
-
])
|
37
|
-
|
38
|
-
fingerprint_md5 = OpenSSL::Digest::MD5.hexdigest(data_string.to_der).scan(/../).join(':')
|
39
|
-
fingerprint_sha1 = OpenSSL::Digest::SHA1.hexdigest(data_string.to_der).scan(/../).join(':')
|
40
|
-
fingerprint_sha256 = OpenSSL::Digest::SHA256.hexdigest(data_string.to_der).scan(/../).join(':')
|
41
|
-
|
42
46
|
result[index]['fingerprints'] = {
|
43
47
|
"md5" => fingerprint_md5,
|
44
48
|
"sha1" => fingerprint_sha1,
|
data/lib/ssh_scan/version.rb
CHANGED