По какой-то конкретной причине вам нужно использовать сертификаты, а не только ключи ssh? Единственная известная мне причина заключается в том, что это снимает с администратора хоста бремя управления сложной конфигурацией authorized_keys
файлов на хостах, на которых много пользователей, которые входят в систему.
OpenSSH представил сертификаты в версии 5.4, поэтому убедитесь, что вы используете по крайней мере эту версию на стороне сервера. Клиент также должен поддерживать сертификаты SSH, и на данный момент мне неясно, поддерживает ли это шпатлевка. Однако он поддерживает ключи ssh, и, если вам не нужны сертификаты, аутентификация на основе ключа должна быть всем, что вам нужно.
Вот хорошее чтение о сертификатах SSH: http://blog.habets.pp.se/2011/07/OpenSSH-certificates
Если вам просто нужен способ входа в систему без запроса пароля, просто используйте ключи ssh (это то, что в любом случае используют сертификаты).
Вы говорите это:
Я хочу, чтобы A и B аутентифицировали друг друга.
Используете ли вы ключи или сертификаты, вы получаете это уже из самого протокола ssh. Когда клиент подключается к серверу, он сравнивает ключ хоста со своими known_hosts
локальными файлами. Если вы впервые заходите на этот сервер, он спросит вас, хотите ли вы его принять. Если ключ сервера изменился после того, как вы вошли в систему, вы получите предупреждение «Человек посередине» и, в зависимости от конфигурации вашего клиента, спросит вас, можно ли продолжить, или просто не позволит вам продолжить.
Это процесс аутентификации сервера перед клиентом, который происходит до того, как клиент попытается пройти аутентификацию на сервере.
person
Corey Henderson
schedule
07.01.2013