แแ แแแกแขแจแ แฉแแแ แจแแแแแฃแจแแแแแ SSH แฐแแกแขแแแแ แแแแแฃแแแแแแ แฌแแแแแแก แแ แแชแแแฃแ แแก แฎแแแแแ แแจแ แฃแกแแคแ แแฎแแแแแก แขแแฅแแแแแก แแแกแแฆแแแแแแก แแแแแงแแแแแแ. แแก แแฎแแแแ แแ แแ แแแแแแแแ แแ แจแแแแซแแแแ แแแกแ แแแ แแแแ แแฅแแแแก แกแแญแแ แแแแแแแ. แฉแแแ แแแแแฎแแแ SSH แกแแ แแแคแแแแขแแก แฃแคแแแแแแแกแแแแแแก แฉแแแแ แฐแแกแขแแแแกแแแแก แขแแฅแแแแแก แฃแกแแคแ แแฎแแแแแก แแแกแแฆแแแแ. แแก แกแฅแแแ แแแฃแจแแแแแก แแแแฅแแแก แแแแแกแแแแ OpenSSH-แแ, แแแ แจแแ แแก SSH แแ แแฏแแ แแแ แจแแกแแแแ.
แ แแกแแแแก แแ แแก แแก แงแแแแแคแแ แ? แแกแ, แแก แฃแแแแแกแแแแแ แแแ แแแแขแแ. แแก แแ แแก แฃแแแแ แแแ แ, แ แแแแแแช แกแแจแฃแแแแแแก แแแแชแแแ แแแแฆแแ แฌแแแแแ แแฅแแแแก แกแแ แแแ แแ, แ แแแแกแแช แ แแแแ แแแแแแแ แกแฎแแ แแ แแคแแ แ แแฃแจแแแแก.
แ แแขแแ แแแแแแแงแแแแ แกแแ แแแคแแแแขแแแ แกแแฏแแ แ/แแแ แแแ แแแกแแฆแแแแแแก แแแชแแแแ แแแแแฃแแแแแแ แฌแแแแแแกแแแแก?
- แกแแฏแแ แ แแแกแแฆแแแแแแกแแแ แแแแกแฎแแแแแแแ, แกแแ แแแคแแแแขแแแก แจแแแซแแแแ แฐแฅแแแแแ แซแแแแแ แแแแแ แแแแ. แแฅแแแ แจแแแแซแแแแ แจแแฅแแแแ แกแแ แแแคแแแแขแ, แ แแแแแแช แแแฅแแแแแแก 1 แฌแฃแแแก แแ แแฃแแแแช 5 แฌแแแแก แแแแแแแแแแแจแ. แแ แแแ แแแแแก แจแแแแแ, แกแแ แแแคแแแแขแ แแแแแฃแกแแแแแแ แ แแแฎแแแแ แแฎแแแ แแแแจแแ แแแแกแแแแก. แแก แแแแแแฃแ แแ แแแแแฃแแแแแแ แฌแแแแแแกแแแแก.
- แแฅแแแ แจแแแแซแแแแ แจแแฅแแแแ แกแแ แแแคแแแแขแ แแแแแกแแแแ แ แแแแแ แแจแแกแแแแก แแฅแแแแก แแแกแแแแซแแแแแ แแ, แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แแแฃแแแแแแแ แแกแแแ โแแ แแฏแแ แแแโ แกแแ แแแคแแแแขแแแ แแแแแแแแก.
แ แ แแญแแ แแแแแ
- แแแแ แแขแฃแ แแก แฃแกแแคแ แแฎแแแแแก แแแกแแฆแแแแแ, แ แแแแแแแช แแฎแแ แก แฃแญแแ แแ แ แแแแแแแข แแแกแแฆแแแแแก.
แ แแแแแแแขแฃแ แ แแแกแแฆแแแแแ แแ แแก แแ แแแขแแแ แแคแแฃแแ แแแกแแฆแแแแแ, แ แแแแแแแช แแแแฎแแแ แแแแแแแแ แฃแกแแคแ แแฎแแแแแก แแแกแแฆแแแจแ. แแแแฏแแ แแกแแแ แแแชแฃแแแ แแแคแแแฃแแแ แฃแแ PIN-แแ. แ แแแแแแแขแ แแแกแแฆแแแแก แกแแฏแแ แ แแแฌแแแแก แแฅแกแแแ แขแ แจแแกแแซแแแแแแแ แฃแกแแคแ แแฎแแแแแก แแแกแแฆแแแแแแ, แกแฃแ แแแแแกแแแแแ , แแแ แซแ แแแกแแฆแแแแก แกแแฎแแแฃแ แแแ แแ แแแ. แแแแแแแแแ, Yubikey 5 แกแแ แแแก USB แแแแแแจแแแ แแฎแแ แก แฃแญแแ แก แ แแแแแแแข แแแแแแจแแแก.แกแแกแฃแ แแแแแ, แ แแ แแกแแแ แแแแแฃแแแแแแ แแงแแก แแฎแแแแ แแแแแฃแแแแแแ แฌแแแแแแกแแแแก แฐแแกแขแแแ. แแ แแแกแขแแกแแแแก แแ แแแแแแแงแแแแ แแฎแแแแ แแ แ แแแกแแฆแแแก, แแแแ แแ แแฅแแแ แฃแแแ แแฅแแแแแ แแแแแขแแแแแ แกแแ แแแแ แแ. - แฃแกแแคแ แแฎแ แแแแแแ แแ แแแกแแฆแแแแแแก แจแแกแแแแฎแแ.
- OpenSSH แแแ แกแแ 8.2 แแ แฃแคแ แ แแแฆแแแ แแฅแแแแก แแแแแแแแ แแ แแแแแแฃแขแแ แแ แแ แกแแ แแแ แแแแ, แ แแแแแแแแช แแกแฃแ แ แแฅแแแแแ แแแแแฃแแแแแแ แฌแแแแแ. Ubuntu 20.04 แแแแแแแก OpenSSH 8.2-แแ.
- (แกแฃแ แแแแแกแแแแแ , แแแแ แแ แ แแแแแแแแแแฃแแแ) CLI แแแกแขแ แฃแแแแขแ แกแแ แแแคแแแแขแแแแก แจแแกแแแแฌแแแแแแ.
แกแแกแฌแแแแ
แแแ แแแ แ แแแจแ, แแฅแแแ แฃแแแ แจแแฅแแแแ แกแแ แขแแคแแชแแ แแแแก แแ แแแแ, แ แแแแแแช แแแแแแแกแแแแ แขแแฅแแแแแก แฃแกแแคแ แแฎแแแแแก แแแกแแฆแแแแ. แฉแแกแแแ แแแกแแฆแแแ แแ แแแฃแจแแแ:
$ ssh-keygen -t ecdsa-sk -f sk-user-ca -O resident -C [security key ID]
แ แแแแ แช แแแแแแขแแ แ (-C) แแ แแแแฃแแแแ [แแ.แคแแกแขแแ แแแชแฃแแแ]แแกแ แ แแ แแฅแแแ แแ แแแแแแแฌแงแแแ แฃแกแแคแ แแฎแแแแแก แ แแแแ แแแกแแฆแแแก แแแฃแแแแแก แแก แกแแ แขแแคแแแแขแแก แแแขแแ แแขแแขแ.
Yubikey-แแ แแแกแแฆแแแแก แแแแแขแแแแก แแแ แแ, แแแแแแแแ แแแแ แแแแแ แแ แแแฃแแ แแฅแแแแ แแ แ แคแแแแ:
- sk-user-ca, แแแกแแฆแแแแก แกแแฎแแแฃแ แ, แ แแแแแแช แแฎแแแ แฃแกแแคแ แแฎแแแแแก แแแกแแฆแแแจแ แจแแแแฎแฃแ แแแ แแ แแแกแแฆแแแก,
- sk-user-ca.pub, แ แแแแแแช แแฅแแแแ แแฅแแแแ แกแแ แขแแคแแแแขแแก แแ แแแแแก แกแแฏแแ แ แแแกแแฆแแแ.
แแแแ แแ แแ แแแแ แแแฃแแแ, Yubikey แแแแฎแแแก แกแฎแแ แแแ แแ แแแกแแฆแแแก, แ แแแแแก แแแแฆแแแแช แจแแฃแซแแแแแแแ. แแแแขแแ, แแฅ แงแแแแแคแแ แ แกแแแแแแแ.
แฐแแกแขแแแแ, แ แแแแ แช root, แแแแแแขแแ (แแฃ แฃแแแ แแ แแแฅแแ) แแฅแแแแ SSHD แแแแคแแแฃแ แแชแแแจแ (/etc/ssh/sshd_config):
TrustedUserCAKeys /etc/ssh/ca.pub
แจแแแแแ แฐแแกแขแแ แแแแแแขแแ แกแแฏแแ แ แแแกแแฆแแแ (sk-user-ca.pub) /etc/ssh/ca.pub
แแแแแขแแแ แแแ แแแแแแ:
# /etc/init.d/ssh restart
แแฎแแ แฉแแแ แจแแแแแซแแแ แแชแแแแ แแแกแแแแซแแแแ แฌแแแแแ. แแแแ แแ แฏแแ แกแแ แแแคแแแแขแ แแแญแแ แแแแ. แจแแฅแแแแแ แแแกแแฆแแแแก แฌแงแแแแ, แ แแแแแแช แแแแแแจแแ แแแฃแแ แแฅแแแแ แกแแ แแแคแแแแขแแแ:
$ ssh-keygen -t ecdsa -f emergency
แกแแ แแแคแแแแขแแแ แแ SSH แฌแงแแแแ
แแแแฏแแ แแแชแแฃแ แแ แกแแ แแแคแแแแขแแก แแแแแงแแแแแ แกแแฏแแ แ/แแแ แแแ แแแกแแฆแแแแก แฌแงแแแแแก แจแแแชแแแแแแ. แแแแ แแ แแฎแแแแ แกแแ แขแแคแแแแขแ แแ แแ แแก แกแแแแแ แแกแ แแแแฎแแแ แแแแแก แแแแแแขแแคแแแแชแแแกแแแแก. แแแแแแฃแ แกแแ แขแแคแแแแขแก แแกแแแ แแฅแแก แแแกแแแ แแแแแแจแแ แแแฃแแ แแแ แแแ แแแกแแฆแแแ. แกแฌแแ แแ แแแแขแแ, แฉแแแ แแแญแแ แแแแ แแ "แแแแแฃแแแแแแ" แแแกแแฆแแแแก แฌแงแแแแแก แแแแแ แแ แแแ, แกแแแแ แกแแแฃแแแ แแแแก แกแแ แแแคแแแแขแก แแแแชแแแ. แแแแแแ แแ แกแแ แแแ แก แแแฉแแแแแ แฎแแแแแฌแแ แแแ แกแแ แแแคแแแแขแ, แกแแแแช แแแแแแแแฃแแแ แแแกแแฆแแแแก แฌแงแแแแ, แ แแแแแกแแแแกแแช แแแแฅแแก แแแ แแแ แแแกแแฆแแแ.แแกแ แ แแ, แกแแฏแแ แ แแแกแแฆแแแแก แแแชแแแ แฏแแ แแแแแ แชแแชแฎแแแแ. แแก แแฃแจแแแแก แแฃแแแแช แกแแ แแแคแแแแขแแแแ. แกแแ แแแคแแแแขแแแ แฃแแ แแแแ แแแแแ แแชแฎแแแก แกแแ แแแ แแก แกแแญแแ แแแแแก แกแแฏแแ แ แแแกแแฆแแแแแแก แจแแกแแแแฎแแ.
แจแแแแแแ, แจแแฅแแแแแ แแแแแ แกแแ แแแคแแแแขแ. แแญแแ แแแแ ubuntu แแแแฎแแแ แแแแแก แแแขแแ แแแแชแแ 10 แฌแฃแแแก แแแขแแ แแแแแ. แแฅแแแ แจแแแแซแแแแ แแแแแแแแ แแก แแฅแแแแ แแแแ.
$ ssh-keygen -s sk-user-ca -I test-key -n ubuntu -V -5m:+5m emergency
แแแแแแฎแแแแแแ แฎแแแ แแแแฌแแ แแ แกแแ แขแแคแแแแขแก แแฅแแแแ แแแแแก แแแแแแญแแแก แแแแแงแแแแแแ. แจแแแแซแแแแ แแแแแแขแแ แแซแแแแ แแแแแงแแคแแแ แแแแแขแแแแแ แแแแฎแแแ แแแแแก แกแแฎแแแแแ, แแแแแแแแแ -n ubuntu,carl,ec2-user
แแกแ แแแ, แแฎแแ แกแแ แแแคแแแแขแ แแแฅแแก! แจแแแแแแ, แแฅแแแ แฃแแแ แแแฃแแแแแ แกแฌแแ แ แแแแแ แแแแแ:
$ chmod 600 emergency-cert.pub
แแแแก แจแแแแแ แจแแแแซแแแแ แแแฎแแ แแฅแแแแ แกแแ แแแคแแแแขแแก แจแแแแแ แกแ:
$ step ssh inspect emergency-cert.pub
แแกแ แแแแแแงแฃแ แแแ แฉแแแ:
emergency-cert.pub
Type: [email protected] user certificate
Public key: ECDSA-CERT SHA256:EJSfzfQv1UK44/LOKhBbuh5oRMqxXGBSr+UAzA7cork
Signing CA: SK-ECDSA SHA256:kLJ7xfTTPQN0G/IF2cq5TB3EitaV4k3XczcBZcLPQ0E
Key ID: "test-key"
Serial: 0
Valid: from 2020-06-24T16:53:03 to 2020-06-24T17:03:03
Principals:
ubuntu
Critical Options: (none)
Extensions:
permit-X11-forwarding
permit-agent-forwarding
permit-port-forwarding
permit-pty
permit-user-rc
แแฅ แกแแฏแแ แ แแแกแแฆแแแ แแ แแก แกแแแแแแแแ แแแกแแฆแแแ, แ แแแแแแช แฉแแแ แจแแแฅแแแแแ แแ sk-user-ca แแกแแชแแ แแแแ แกแแ แขแแคแแชแแ แแแแก แแ แแแแแกแแแ.
แแแแแแแก, แฉแแแ แแแแ แแแ แ SSH แแ แซแแแแแแก แแแกแแจแแแแแ:
$ ssh -i emergency ubuntu@my-hostname
ubuntu@my-hostname:~$
- แแฎแแ แแฅแแแ แจแแแแซแแแแ แจแแฅแแแแ แกแแ แแแคแแแแขแแแ แแแแแกแแแแ แ แแแแฎแแแ แแแแแกแแแแก แฐแแกแขแแ, แ แแแแแแช แแแแแแ แแฅแแแแก แกแแ แขแแคแแแแขแแก แฃแคแแแแแแแกแแแแแแก.
- แแฅแแแ แจแแแแซแแแแ แฌแแจแแแแ แกแแแแแแแแ แแแแแแแ แแแแ. แจแแแแซแแแแ แจแแแแแฎแแ sk-user-ca, แแแแ แแ แแก แแ แแญแแ แแแแแ, แ แแแแแ แแก แแกแแแ แฃแกแแคแ แแฎแแแแแก แแแกแแฆแแแแแ. แแฅแแแ แแกแแแ แจแแแแซแแแแ แฌแแจแแแแ แแ แแแแแแแฃแ แ PEM แกแแฏแแ แ แแแกแแฆแแแ แแฅแแแแ แฐแแกแขแแแแแแ (แแแแแแแแแ, ~/.ssh/authorized_keys-แจแ ubuntu แแแแฎแแแ แแแแแกแแแแก), แแฃ แแงแแแแแแแ แแแก แแแแแฃแแแแแแ แฌแแแแแแกแแแแก.
แแแแแฃแแแแแแ แฌแแแแแ: แกแแแแฅแแแแ แแแแแ
แฉแแกแแแ แฃแกแแคแ แแฎแแแแแก แแแกแแฆแแแ แแ แแแฃแจแแแ แแ แซแแแแแ:
$ ssh-add -K
แแก แแแแแแขแแแก แกแแ แขแแคแแแแขแแก แแ แแแแแก แกแแฏแแ แ แแแกแแฆแแแก แแ แแแกแแฆแแแแก แแฆแฌแแ แก SSH แแแแแขแก.
แแฎแแ แแแแงแแแแแ แกแแฏแแ แ แแแกแแฆแแแ แกแแ แแแคแแแแขแแก แจแแกแแฅแแแแแแ:
$ ssh-add -L | tail -1 > sk-user-ca.pub
แจแแฅแแแแแ แกแแ แขแแคแแแแขแ แแแแแก แแแกแแแแก แแแ แแฆแแ, แแแแแแแแแ, แแ แ แฃแแแขแแก แแ แแ แกแแแแแกแ:
$ ssh-keygen -t ecdsa -f emergency
$ ssh-keygen -Us sk-user-ca.pub -I test-key -n [username] -V -5m:+60m emergency
$ chmod 600 emergency-cert.pub
แแ แแฎแแ แแกแแ SSH:
$ ssh -i emergency username@host
แแฃ แแฅแแแแ .ssh/config แคแแแแ แแฌแแแแก แแแ แแแแฃแ แแ แแแแแแแแก แแแแแแจแแ แแแแกแแก, แจแแแแซแแแแ แแแฃแจแแแ ssh -F none แแคแชแแแ แแแก แแแแ แแแก แแแแแ. แแฃ แแแแแแแกแแแแก แกแแ แแแคแแแแขแแก แแแแแแแแ แแญแแ แแแแแ, แงแแแแแแ แแแ แขแแแ แแ แฃแกแแคแ แแฎแ แแแ แแแแขแแ
แ แแช แแแแฌแแแก แแ แแแแแแแแจแ แแ แแก แขแแฅแแแแแก แแฎแแ แแแญแแ แ. แจแแแแซแแแแ แแฅแแแแ แฃแกแแคแ แแฎแแแแแก แแแกแแฆแแแแแ แกแแแคแจแ แแแแแแแกแแ แแ แแกแแแ แแ แกแแ แฌแแแ.
แ แแแแแแแก แฃแคแแแแแแแก แจแแกแแฎแแ
แแแแแฃแ แ แกแแ แแแ แแแ - แ แแแแแแแ
แฌแงแแ แ: www.habr.com