Я пытаюсь подключиться к SSH-соединениям с помощью golang.org/x/crypto/ssh
, и я удивлен, что я не могу понять, как отключить функцию NewSession
(я на самом деле не вижу никакого способа тайм-аута что-либо). Когда я пытаюсь подключиться к серверу с проблемами, это просто зависает в течение очень долгого времени. Я написал что-то, чтобы использовать select
с time.After
, но это просто похоже на хак. Что-то, чего я еще не пробовал, это сохранить базовую net.Conn
в моей структуре и просто продолжать делать вызовы Conn.SetDeadline()
. Не пробовал это еще, потому что я не знаю, переопределяет ли библиотека крипто /ssh это или что-то в этом роде.
У кого-нибудь есть хороший способ тайм-аута мертвых серверов с этой библиотекой? Или кто-нибудь знает лучшую библиотеку?