Сертификаты для удобного доступа по SSH

Общее

Просмотр результата

ssh-keygen -Lf ~/.ssh/ssh_host_ca-cert.pub
  • Lf Отобразит содержимое сертификата

Настройка клиента

Скопировать на все необходимы компы

scp ~/ssh/ssh_host-cert.pub 10.1.20.21:/etc/ssh/
 
vi /etc/ssh/sshd_config
	HostCertificates /etc/ssh/ssh_host_cert.pub
 
service ssh restart

Создание CA сертификатов

Создание парных ключей

ключи для клиента и хоста куда будем стучать

ssh-keygen -t rsa -b 4096 -f ~/.ssh/ssh_user_ca
ssh-keygen -t rsa -b 4096 -f ~/.ssh/ssh_host_ca

Минимум

ssh-keygen -f ~/.ssh/ssh_user_ca
ssh-keygen -f ~/.ssh/ssh_host_ca

Хотя можно и одним…

Доверие к CA сертификатам

 
# на сервере
vi /etc/ssh/sshd_config
	TrustedUserCAKeys /etc/ssh/ssh_user_ca.pub
 
service ssh restart

Сертификат на клиента

Создание сертификата клиента

Нужно создать на клиенте тип для безопасности, потом pub отдать CA

ssh-keygen -f ~/.ssh/ssh_user
 
# на CA
ssh-keygen -s ~/.ssh/ssh_user_ca -I root -n root /root/.ssh/ssh_user.pub
scp ssh_user-cert.pub 10.1.20.21:/root/.ssh/
 
# на клиенте
vi /etc/ssh/ssh_config
	IdentityFile ~/.ssh/ssh_user # !!! PRIVATE certificate NOT public !!! # 
 
service ssh restart

Сертификат на хост

Создание сертификата хоста

Нужно создать на клиенте тип для безопасности, потом pub отдать CA

ssh-keygen -f ~/.ssh/ssh_host
 
# на CA
ssh-keygen -s ~/.ssh/ssh_host_ca -I ha-prx01 -h -n ha-prx01.dmz.ws.kz /root/.ssh/ssh_host.pub
 
 
# на клиенте
vi /etc/ssh/sshd_config
	HostCertificate /etc/ssh/ssh_host-cert.pub
 
service ssh restart

Возможно надо

Создание CA сертификата

ssh-keygen -s ~/.ssh/ssh_host_ca -I my-ca -h -n dmz.ws.kz -V +52w ~/.ssh/ssh_host_ca.pub
  • -s указывает закрытый ключ хоста, который будет использоваться для подписи сертификата.
  • -h используется для создания сертификата типа хоста.
  • -n, указанный выше, устанавливает полное доменное имя хоста в качестве принципалов в сертификате.
  • -V устанавливает срок действия сертификата.
  • -I какое-то имя

Где-то

# Копируем в доверенные
cat ssh_user_ca-cert.pub >> ~/.ssh/know_hosts

# И добавить в начала сертификата
@cert-authority *dmz.ws.kz ssh-rsa