Сегодня нам понадобился sFTP на удаленный сервер. Администраторы удаленного сервера не хотели, чтобы мы отправляли им открытый ключ пользователя; вместо этого они попросили пользователя выполнить начальное соединение, в котором было отказано, а затем каким-то образом «импортировали» открытый ключ, который был «предложен» во время этого соединения.
Как это возможно и как добиться того же?
Примечание: строка версии клиента SSH-2.0-OpenSSH_6.9
.
Примечание 2: удаленное программное обеспечение идентифицирует себя как XFB.Gateway
.
Примечание 3: этот метод сработал, и теперь наш пользователь может получить доступ к sFTP-серверу.
Примечание 4: выданная команда была sftp -v -o IdentityFile=my_id_rsa u0005fa@ip
.
Насколько мне известно, я могу видеть только отпечатки открытых ключей. Если бы кто-то спросил меня, я бы ответил так же, как написал этот другой пользователь Вот. Обмен ключами работает иначе? Передают ли клиенты свои полные открытые ключи? На каком этапе?
В этот другой ответ, блог Почта упоминается там, где кто-то описывает создание собственного программного обеспечения Java ssh-сервера для захвата открытых ключей клиентов. Я попробовал, и он говорит мне:
john trying to authenticate with RSA MIIB..........
Теперь, из того, что я узнал в этот ответ, MIIB
будет началом 768-битного закрытого ключа, в то время как я вместо этого ожидал увидеть открытый ключ, начинающийся с AAAAB3NzaC1yc2E
и соответствует моему тесту 2048-битного закрытого ключа RSA. Это просто еще один формат, который можно преобразовать в стандарт ssh-rsa?
Существуют ли другие инструменты (возможно, не на основе Java), которые выполняют ту же задачу?