2016-01-04 6 views
5

Я ищу это в течение длительного времени.Получить открытый ключ с сервера SSH

Мне нужно извлечь и получить модуль и показатель с сервера SSH.

Так, я знаю, что на сервере xxx.xxx.xxx.xxx запущен SSH (я могу подключаться к этому серверу/пинг), но я не знаю имени пользователя и пароля, так не может войти.

Мне нужно получить модуль и показатель открытого ключа RSA этого сервера.

Я нашел, что ssh-keyscan может получить модуль + показатель степени (из документации), но только если используется ssh-rsa1. Если я попытаюсь получить открытый ключ ssh-rsa (2) с ssh-keyscan, я не могу извлечь из модуля вывода и показателя экспоненты.

Возможно ли это?

+0

Извините, но это совершенно неясно, что вы просите. Что вы хотите с открытым ключом, хранящимся на сервере? Он не даст вам доступ к этой системе. Поскольку для этого вам нужен секретный ключ. – arkascha

+0

Я знаю. Это для моего бакалавриата. Нужно собрать некоторые открытые ключи и ... :) – user3157560

+1

Ну, тогда просто создайте. – arkascha

ответ

8

Уверен, что вы можете!

Скачать открытый ключ из GitHub и сохранить его в файл github.pub:

ssh-keyscan -t rsa github.com | sed "s/^[^ ]* //" > github.pub 

Преобразовать SSH открытого ключа в формате X.509 с открытым ключом формат:

ssh-keygen -f github.pub -e -m pem > github.pem 

Анализировать ASN.1 кодирования ключа, чтобы получить открытый модуль ключа и экспоненту:

cat github.pem | sed "/--/d" | openssl asn1parse | grep "INTEGER" | sed "s/.*://" 

Результат:

AB603B8511A67679BDB540DB3BD2034B004AE936D06BE3D760F08FCBAADB4EB4EDC3B3C791C70AAE9A74C95869E4774421C2ABEA92E554305F38B5FD414B3208E574C337E320936518462C7652C98B31E16E7DA6523BD200742A6444D83FCD5E1732D03673C7B7811555487B55F0C4494F3829ECE60F94255A95CB9AF537D7FC8C7FE49EF318474EF2920992052265B0A06EA66D4A167FD9F3A48A1A4A307EC1EAAA5149A969A6AC5D56A5EF627E517D81FB644F5B745C4F478ECD082A9492F744AAD326F76C8C4DC9100BC6AB79461D2657CB6F06DEC92E6B64A6562FF0E32084EA06CE0EA9D35A583BFB00BAD38C9D19703C549892E5AA78DC95E250514069 
23 

Первая строка представляет собой модуль, а вторая строка является показателем степени.

+0

большое спасибо! Я делал это весь день, но проблема была в том, что я разбираюсь с ssh-keygen -f .... string без ssh-rsa (только последний base64-encoded-key): '(и ничего не работает – user3157560

+1

Добро пожаловать В следующий раз укажите все шаги, которые вы пробовали в вопросе. – divanov

Смежные вопросы