2016-10-22 5 views
0

Как получить отпечатки с SSH с сервера, если у меня есть только IP-адрес сервера, а сервер не указан в моем файле ~/.ssh/known_hosts?Получить отпечатки пальцев с сервера

Хотелось бы увидеть некоторые клавиши хоста. Вот что я пытался в Ruby:

net_ssh_session = 
    Net::SSH::Transport::Session.new(
    target, :port => port, :timeout => timeout, :paranoid => Net::SSH::Verifiers::Null.new) 
host_keys = net_ssh_session.host_keys 

Я не мог получить какие-либо ключи хоста, если сервер не был включен в моем ~/.ssh/known_hosts.

+0

Если вы используете '.ssh/known_hosts', у вас, вероятно, есть OpenSSH, и если у вас есть OpenSSH, вы должны иметь' ssh-keyscan'. См. Справочную страницу. –

+0

thaanks! @ dave_thompson_085 – hvardhan

ответ

0

кавычки важные части моей статьи Where do I get SSH host key fingerprint to authorize the server?

Вы должны получить SSH ключа хоста вместе с учетными данными от администратора сервера. Знание отпечатка ключа хоста и, таким образом, возможность его проверки является неотъемлемой частью обеспечения SSH-соединения. Он предотвращает man-in-the-middle attacks.

В реальном мире большинство администраторов не предоставляют отпечаток ключа хоста.

Вместо этого вы можете спросить любого, у кого есть физический доступ к серверу или кто уже знает ключ хоста. Ключ хоста является только одним и, следовательно, одинаковым для всех пользователей. Также обратите внимание, что отпечаток ключа хоста генерируется только из части открытого ключа только для ключа хоста. Таким образом, он не является секретным и может быть безопасно отправлен по незашифрованным (но надежным) каналам связи.

Если у вас нет никого, кто мог бы получить отпечаток пальца, вам может потребоваться подключение к серверу, не зная отпечатка пальца. Прежде чем подключаться в первый раз, обеспечьте безопасность своего локального компьютера и линию на сервере. Например, если вы планируете подключаться к серверу с внешнего сайта (например, из дома или клиента), но у вас есть физический доступ к серверному сайту, сначала подключайте его с сайта сервера (например, на рабочем месте).

0

Существует ssh-keyscan, но учтите, что нет никаких гарантий, что ключи, которые вы получите от этого инструмента, будут действительно главными серверами сервера (может произойти атака «Человек в центре», и вы можете подключиться к совершенно другой сервер).

Вы должны получить ключи хоста непосредственно с сервера, используя защищенный канал, от администратора или с помощью удаленной/локальной консоли.