ssh_scan 0.0.9.beta.2 → 0.0.9.beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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