Größe: 1357
Kommentar:
|
← Revision 12 vom 2022-04-28 15:53:39 ⇥
Größe: 1864
Kommentar:
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 46: | Zeile 46: |
echo "@cert-authority *.lan.suhle.de $(cat ca.pub)" >> /etc/ssh/known_hosts | echo "@cert-authority *.lan.suhle.de $(cat ca.pub)" >> /etc/ssh/ssh_known_hosts |
Zeile 49: | Zeile 49: |
9. Die CA im Host systemweit bekannt machen: {{{ scp /etc/ssh/ssh_known_hosts root@host:/etc/ssh/ssh_known_hosts }}} 10. User Zertifikat signieren: {{{ ssh-keygen -s ca -n <user1,user2,...> -I <user1@example.org> id_ed25519.pub }}} 11. CA Public Key auf den Host übertragen: {{{ scp ./ca.pub host:/etc/ssh/ca.pub }}} 12. Dem sshd bekannt geben: {{{ ssh -l root host 'echo "TrustedUserCAKeys /etc/ssh/ca.pub" >> /etc/ssh/sshd_config' ssh -l root host 'systemctl restart sshd' }}} |
ssh-Zertifikate mit einer CA signieren
1. CA-Zertifikat erstellen:
ssh-keygen -C CA -f ca -t ed25519
2. Host-Zertifikat erstellen:
ssh-keygen -t ed25519 /etc/ssh/ssh_host_ed25519_key
3. Host-Zertifikat signieren:
export FQDN=xxx.lan.suhle.de export HOSTNAME=xxx ssh-keygen -s ca -h -n ${FQDN},${HOSTNAME} -I ${FQDN}-host-key /etc/ssh/ssh_host_ed25519_key
Hierdurch wird ein Zertifikat /etc/ssh/ssh_host_ed25519_key-cert.pub erstellt.
4. Das signierte Zertifikat als Host-Zertifikat nutzen:
echo "HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub" >> /etc/ssh/sshd_config
5. Öffentliches Host-Zertifikat eines beliebigen Hosts in den CA-Ordner kopieren:
scp host:/etc/ssh/ssh_host_ed25519_key.pub ./
6. Öffentliches Host-Zertifikat dieses Hosts signieren:
export FQDN=host.lan.suhle.de export HOSTNAME=host ssh-keygen -s ca -I ${FQDN}-host-key -h -n ${FQDN},${HOSTNAME} ./ssh_host_ed25519_key.pub
7. Das signierte Host-Zertifikat nutzen:
ssh -l root host 'echo "HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub" >> /etc/ssh/sshd_config' ssh -l root host 'systemctl restart sshd'
8. Die CA systemweit bekannt machen:
echo "@cert-authority *.lan.suhle.de $(cat ca.pub)" >> /etc/ssh/ssh_known_hosts
9. Die CA im Host systemweit bekannt machen:
scp /etc/ssh/ssh_known_hosts root@host:/etc/ssh/ssh_known_hosts
10. User Zertifikat signieren:
ssh-keygen -s ca -n <user1,user2,...> -I <user1@example.org> id_ed25519.pub
11. CA Public Key auf den Host übertragen:
scp ./ca.pub host:/etc/ssh/ca.pub
12. Dem sshd bekannt geben:
ssh -l root host 'echo "TrustedUserCAKeys /etc/ssh/ca.pub" >> /etc/ssh/sshd_config' ssh -l root host 'systemctl restart sshd'