По умолчанию инженеры подключаются к сетевому оборудованию с помощью имени пользователя и пароля. По протоколу Telnet учетные данные пользователя передаются в открытом виде, а по протоколу SSH в зашифрованном. Чтобы не передавать секретную часть по сети, используется авторизация…
Создать ssh-сервер на Go можно при помощи модуля golang.org/x/crypto/ssh.А при помощи пакета github.com/gliderlabs/ssh можно разработать ssh-сервер легко и быстро. Ssh подразумевает не только доступ к оболочке(shell), но и прочие возможности: файловый сервер(sftp), проброс портов. README пакета gliderlabs/ssh содержит минимальный пример, выводящий строку "Hello world" любому подключенному ssh-клиенту.Реализуем же полноценный терминальный интерфейс. go next()
SSH предлагает несколько форм аутентификации, в том числе пароли и открытые ключи. Последние считаются более безопасными. Однако аутентификация по паролю по-прежнему остаётся самой популярной, особенно в сетевом оборудовании. Чтобы не вводить пароль каждый раз вручную, есть специальные инструменты для автоматизации логина, то есть для неинтерактивной SSH-аутентификации. Это классическая утилита sshpass и её «исправленный» вариант passh (подробнее о причине «исправления» см. здесь). Читать дальше →
Ситуация: у вас парк Linux-серверов, куда вы регулярно заходите по SSH. Авторизоваться можно как по паролю, так и по ключу, но все же хотелось бы двухфакторной авторизации. Двухфакторная авторизация для SSH по какому-либо железному ключу или otp Google Authenticator настраивается достаточно…