ssh-агент
Эта статья нуждается в дополнительных цитатах для проверки . ( май 2010 г. ) |
Разработчик(и) | Проект OpenBSD |
---|---|
Репозиторий | github |
Написано в | С |
Операционная система | Unix , Unix-подобные , Microsoft Windows |
Тип | Команда |
Лицензия | BSD , ISC , общественное достояние |
Веб-сайт | www |
Secure Shell (SSH) — это протокол, обеспечивающий безопасный удаленный вход в компьютер в сети с использованием криптографии с открытым ключом . Клиентские программы SSH (например, ssh
из OpenSSH ), обычно запускаются на время сеанса удаленного входа в систему и настроены на поиск закрытого ключа пользователя в файле в домашнем каталоге пользователя (например, .ssh/id_rsa
). Для дополнительной безопасности (например, против злоумышленника, который может прочитать любой файл в локальной файловой системе) закрытый ключ обычно хранится в зашифрованной форме, где ключ шифрования вычисляется на основе парольной фразы , которую запомнил пользователь. Поскольку вводить парольную фразу может быть утомительно, многие пользователи предпочитают вводить ее только один раз за сеанс локального входа. Наиболее безопасное место для хранения незашифрованного ключа — это память программы, а в Unix-подобных операционных системах память обычно связана с процессом . Обычный клиентский процесс SSH нельзя использовать для хранения незашифрованного ключа, поскольку клиентские процессы SSH действуют только на протяжении сеанса удаленного входа в систему. Поэтому пользователи запускают программу под названием ssh-agent , которая работает вне времени локального сеанса входа в систему, сохраняет незашифрованные ключи в памяти и взаимодействует с SSH-клиентами, используя сокет домена Unix .
Проблемы безопасности
[ редактировать ]ssh-agent
создает сокет, а затем проверяет соединения из ssh
. Каждый, кто может подключиться к этому сокету, также имеет доступ к ssh-agent
. Разрешения устанавливаются как в обычной системе Linux или Unix . Когда агент запускается, он создает новый каталог в /tmp
с ограничительными разрешениями. Сокет находится в этом каталоге.
Существует процедура, которая может предотвратить вредоносным ПО использование ssh-agent
розетка. Если ssh-add -c
опция устанавливается при импорте ключей в файл ssh-agent
, то агент запрашивает подтверждение у пользователя с помощью программы, указанной в SSH_ASKPASS
переменная среды , всякий раз, когда ssh
пытается подключиться.
Ssh-агенты могут быть «перенаправлены» на сервер, к которому вы подключаетесь, делая их ключи доступными и для других подключений. В локальной системе важно, чтобы пользователь root заслуживал доверия, поскольку пользователь root может, помимо прочего, просто прочитать файл ключа напрямую. В удаленной системе, если ssh-agent
соединение пересылается, также важно, чтобы пользователь root на другом конце заслуживал доверия, поскольку он может получить доступ к сокету агента на удаленном компьютере (но не к ключу, который остается локальным).
Реализации
[ редактировать ]Существует множество различных программ, которые выполняют те же функции, что и ssh-agent OpenSSH , некоторые из них имеют совершенно разные пользовательские интерфейсы. PuTTY , например, использует графический интерфейс пользователя в своем встроенном ssh-агенте Pageant .
Существуют инструменты, предназначенные для обеспечения функциональности агента ключей как для симметричных, так и для асимметричных ключей; они обычно предоставляют функциональность ssh-агента в качестве одного из интерфейсов приложения. Примеры включают GNOME Keyring и KWallet .
Некоторые монолитные клиенты SSH имеют возможность запоминать парольные фразы SSH между сеансами. Примеры включают: SecureCRT .
Яблоко macOS
[ редактировать ]В операционную систему macOS ssh-agent интегрирован с Leopard версии 10.5 в 2007 году. Сторонние реализации ssh-agent с открытым исходным кодом были доступны ранее. [1]
Microsoft Windows
[ редактировать ]Клиентские и серверные программы на основе OpenSSH включены в Windows 10 , начиная с версии 1803. Клиент SSH и агент ключей включены и доступны по умолчанию, а сервер SSH является дополнительной функцией по требованию. [2] [3]
Ссылки
[ редактировать ]- ^ Дрибин, Дэйв (21 августа 2007 г.). «Предупреждение SSHKeychain» . Блог Дэйва Дрибина .
- ^ «Что нового в командной строке в Windows 10 версии 1803» . 8 марта 2018 г.
- ^ «Использование бета-версии OpenSSH в Windows 10 Fall Creators Update и Windows Server 1709» . 15 декабря 2017 г.
Внешние ссылки
[ редактировать ]