Red Hat āĻĨā§āĻā§ Timothee Ravier, āĻĢā§āĻĄā§āĻ°āĻž āĻ¸āĻŋāĻ˛āĻāĻžāĻ°āĻŦā§āĻ˛ā§ āĻāĻŦāĻ āĻĢā§āĻĄā§āĻ°āĻž āĻāĻŋāĻ¨ā§āĻāĻ āĻĒā§āĻ°āĻā§āĻā§āĻā§āĻ° āĻāĻāĻāĻ¨ āĻ°āĻā§āĻˇāĻŖāĻžāĻŦā§āĻā§āĻˇāĻŖāĻāĻžāĻ°ā§, sudo āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻāĻ°ā§āĻā§āĻ¨, āĻ¯āĻž āĻ¸ā§āĻāĻĄ āĻŦāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻŋāĻļā§āĻˇ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻ°āĻ¤ā§āĨ¤ sudo-āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻāĻāĻ¨ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ°ā§āĻ āĻ āĻ§āĻŋāĻāĻžāĻ° āĻ¸āĻš āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, UNIX āĻ¸āĻā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻāĻ¯ā§āĻ āĻ¸āĻš ssh āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻŦāĻ SSH āĻā§āĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
sudo-āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ ssh āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĢāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ suid āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻŽā§āĻā§āĻ¤āĻŋ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĢā§āĻĄā§āĻ°āĻž āĻ¸āĻŋāĻ˛āĻāĻžāĻ°āĻŦā§āĻ˛ā§, āĻĢā§āĻĄā§āĻ°āĻž āĻāĻŋāĻ¨ā§āĻāĻ, āĻĢā§āĻĄā§āĻ°āĻž āĻ¸ā§āĻ°āĻŋāĻ¸āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻĢā§āĻĄā§āĻ°āĻž āĻ āĻ¨āĻŋāĻā§āĻ¸ā§āĻ° āĻŽāĻ¤ā§ āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ° āĻāĻāĻ¸ā§āĻ˛ā§āĻļāĻ¨ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻŦāĻŋāĻ¤āĻ°āĻŖā§āĻ° āĻšā§āĻ¸ā§āĻ āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻŦāĻŋāĻļā§āĻˇāĻžāĻ§āĻŋāĻāĻžāĻ°āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨āĨ¤ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°āĻ¤ā§, āĻāĻāĻāĻŋ USB āĻā§āĻā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ°ā§āĻ¤ā§āĻĒāĻā§āĻˇā§āĻ° āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤āĻāĻ°āĻŖ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, Yubikey) āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻāĻāĻ¨āĻŋāĻā§āĻ¸ āĻ¸āĻā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ OpenSSH āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ (āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ sshd āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻŦā§):
/etc/systemd/system/sshd-unix.socket: [Unit] āĻŦāĻ°ā§āĻŖāĻ¨āĻž=OpenSSH āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻāĻ¨āĻŋāĻā§āĻ¸ āĻ¸āĻā§āĻ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨=man:sshd(8) man:sshd_config(5) [āĻ¸āĻā§āĻ] ListenStream=/run/sshd.sock Accept=yes [āĻāĻ¨āĻ¸ā§āĻāĻ˛] WantedBy=sockets.target
āĻāĻ¨ā§āĻ¯ / etc / systemd āĻšāĻ˛ / āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ /[āĻāĻŽā§āĻ˛ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤]: [āĻāĻāĻ¨āĻŋāĻ] āĻŦāĻ°ā§āĻŖāĻ¨āĻž=OpenSSH āĻĒā§āĻ°āĻ¤āĻŋ-āĻ¸āĻāĻ¯ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĄā§āĻŽāĻ¨ (āĻāĻāĻ¨āĻŋāĻā§āĻ¸ āĻ¸āĻā§āĻ) āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨=man:sshd(8) man:sshd_config(5) Wants=sshd-keygen.target After=sshd-keygen.target [Service] ExecStart=- /usr/sbin/sshd -i -f /etc/ssh/sshd_config_unix StandardInput=āĻ¸āĻā§āĻ
/etc/ssh/sshd_config_unix: # āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻā§ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻāĻžāĻĄāĻŧā§ āĻĒāĻžāĻ°āĻŽāĻŋāĻāĻ°ā§āĻāĻ˛āĻāĻāĻ¨ āĻ¨āĻŋāĻˇā§āĻ§-āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻā§āĻ¨ āĻĒāĻžāĻ°āĻŽāĻŋāĻ āĻāĻŽā§āĻĒāĻāĻŋāĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¨ā§āĻ GSSAPIA āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻ¨ā§āĻ # āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ°ā§āĻ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ āĻ¨āĻžāĻŽ # āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤ā§āĻ¯āĻžāĻ āĻāĻ°ā§āĨ¤ 2 āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻā§ āĻĢāĻžāĻāĻ˛ .ssh /āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤_āĻā§ # sftp āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ sftp /usr/libexec/openssh/sftp-āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°ā§āĻ¨
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻĄ āĻāĻāĻ¨āĻŋāĻ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻ¨: sudo systemctl deemon-reload sudo systemctl enable â now sshd-unix.socket
/root/.ssh/authorized_keys-āĻ āĻāĻĒāĻ¨āĻžāĻ° SSH āĻā§ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
SSH āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤
socat āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨: sudo dnf socat āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨
āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ UNIX āĻ¸āĻā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ socat āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§ /.ssh/config āĻĒāĻ°āĻŋāĻĒā§āĻ°āĻ āĻāĻ°āĻŋ: āĻšā§āĻ¸ā§āĻ host.local āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ°ā§āĻ # āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ /run āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ /run/host/run āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ ProxyCommand socat - UNIX-CLIENT: / run/ host/run/sshd.sock # SSH āĻā§ āĻāĻāĻĄā§āĻ¨ā§āĻāĻŋāĻāĻŋāĻĢāĻžāĻāĻ˛ā§āĻ° āĻĒāĻĨ ~/.ssh/keys/localroot # āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻ āĻļā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ TTY āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°ā§āĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋāĻāĻŋāĻāĻ¯āĻŧāĻžāĻ āĻšā§āĻ¯āĻžāĻ # āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻāĻāĻĒā§āĻ āĻ¸āĻ°āĻžāĻ¨ āĻ˛āĻāĻ˛ā§āĻā§āĻ˛ āĻļāĻžāĻ¨ā§āĻ¤
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĢāĻ°ā§āĻŽā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ āĻ¨āĻžāĻŽ āĻāĻāĻ¨ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¨āĻž āĻĻāĻŋāĻ¯āĻŧā§āĻ āĻ°ā§āĻ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĨ¤ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻā§āĻ āĻāĻ°āĻž āĻšāĻā§āĻā§: $ssh host.local [root ~]#
āĻāĻŽāĻ°āĻž "ssh host.local" āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ bash-āĻ āĻāĻāĻāĻŋ sudohost alias āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ, sudo āĻāĻ° āĻŽāĻ¤ā§: sudohost() { if [[ ${#} -eq 0 ]]; āĻ¤āĻžāĻ°āĻĒāĻ° ssh host.local "cd \"${PWD}\"; exec \"${SHELL}\" --login" else ssh host.local "cd \"${PWD}\"; exec \Âģ${@}\ÂģÂģ fi }
āĻā§āĻ āĻāĻ°ā§āĻ¨: $ sudohost id uid=0(root) gid=0(root) group=0(root)
āĻāĻŽāĻ°āĻž āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻ¯ā§āĻ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋ-āĻĢā§āĻ¯āĻžāĻā§āĻāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°āĻŋ, āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ Yubikey USB āĻā§āĻā§āĻ¨ āĻĸā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¤āĻāĻ¨āĻ āĻ°ā§āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ Yubikey āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻ¨ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽāĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¤āĻž āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ: lsusb -v 2>/dev/null | grep -A2 Yubico | grep "bcdDevice" | awk '{āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ $2}'
āĻāĻāĻāĻĒā§āĻ 5.2.3 āĻŦāĻž āĻ¤āĻžāĻ° āĻŦā§āĻļāĻŋ āĻšāĻ˛ā§, āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ ed25519-sk āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨, āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ ecdsa-sk āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨: ssh-keygen -t ed25519-sk āĻŦāĻž ssh-keygen -t ecdsa-sk
/root/.ssh/authorized_keys-āĻ āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻā§ āĻ¯ā§āĻ āĻāĻ°ā§
sshd āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻāĻāĻāĻŋ āĻā§ āĻāĻžāĻāĻĒ āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨: /etc/ssh/sshd_config_unix: PubkeyAcceptedKeyTypes [āĻāĻŽā§āĻ˛ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤],[āĻāĻŽā§āĻ˛ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤]
āĻāĻŽāĻ°āĻž āĻāĻāĻ¨āĻŋāĻā§āĻ¸ āĻ¸āĻā§āĻā§āĻ° āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°āĻŋ āĻ¯āĻžāĻ°āĻž āĻŦāĻŋāĻļā§āĻˇāĻžāĻ§āĻŋāĻāĻžāĻ° āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ āĻ¨āĻžāĻŽ)āĨ¤ /etc/systemd/system/sshd-unix.socket āĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨: [āĻ¸āĻā§āĻ] ... SocketUser=adminusername SocketGroup=adminusername SocketMode=0660
āĻāĻ¤ā§āĻ¸: opennet.ru