SSH-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ UNIX แƒกแƒแƒ™แƒ”แƒขแƒ–แƒ” sudo-แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“ suid แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒแƒจแƒแƒ แƒ”แƒ‘แƒšแƒแƒ“

แƒขแƒ˜แƒ›แƒแƒขแƒ˜ แƒ แƒแƒ•แƒ˜แƒ”แƒ แƒ›แƒ Red Hat-แƒ“แƒแƒœ, Fedora Silverblue แƒ“แƒ Fedora Kinoite แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ”แƒšแƒ›แƒ, แƒจแƒ”แƒกแƒ—แƒแƒ•แƒแƒ–แƒ แƒ’แƒ–แƒ, แƒ แƒแƒ—แƒ แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒ˜แƒชแƒ˜แƒšแƒแƒ— sudo แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก suid bit-แƒก แƒžแƒ แƒ˜แƒ•แƒ˜แƒšแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒซแƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒšแƒแƒ“. แƒกแƒฃแƒ“แƒแƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ root แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ›แƒแƒ—แƒแƒ•แƒแƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก ssh แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒกแƒ—แƒแƒœ แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒ— UNIX แƒกแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— แƒ“แƒ SSH แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒ”แƒ‘แƒแƒ แƒ—แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ.

sudo-แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“ ssh-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒ˜แƒชแƒ˜แƒšแƒแƒ— suid แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ แƒ“แƒ แƒฉแƒแƒ แƒ—แƒแƒ— แƒžแƒ แƒ˜แƒ•แƒ˜แƒšแƒ”แƒ’แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒ“แƒ˜แƒกแƒขแƒ แƒ˜แƒ‘แƒฃแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒš แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ˜แƒ–แƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Fedora Silverblue, Fedora Kinoite, Fedora Sericea แƒ“แƒ Fedora Onyx. แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—, แƒฃแƒคแƒšแƒ”แƒ‘แƒแƒ›แƒแƒกแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒ USB แƒœแƒ˜แƒจแƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, Yubikey) แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ˜แƒฅแƒœแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜.

OpenSSH แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ Unix แƒกแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒชแƒแƒšแƒ™แƒ” sshd แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ แƒ’แƒแƒ”แƒจแƒ•แƒ”แƒ‘แƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒ—):

/etc/systemd/system/sshd-unix.socket: [แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜] แƒแƒฆแƒฌแƒ”แƒ แƒ=OpenSSH แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก Unix แƒกแƒแƒ™แƒ”แƒขแƒ˜ Documentation=man:sshd(8) man:sshd_config(5) [Socket] ListenStream=/run/sshd.sock Accept=yes [Install] WantedBy=sockets.target

/ etc / systemd / system /[แƒ”แƒš.แƒคแƒแƒกแƒขแƒ˜แƒ— แƒ“แƒแƒชแƒฃแƒšแƒ˜แƒ]: [แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜] แƒแƒฆแƒฌแƒ”แƒ แƒ=OpenSSH แƒ—แƒ˜แƒ—แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ“แƒ”แƒ›แƒแƒœแƒ˜ (Unix แƒกแƒแƒ™แƒ”แƒขแƒ˜) Documentation=man:sshd(8) man:sshd_config(5) Wants=sshd-keygen.target After=sshd-keygen.target [แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜] ExecStart=- /usr/sbin/sshd -i -f /etc/ssh/sshd_config_unix StandardInput=แƒกแƒแƒ™แƒ”แƒขแƒ˜

/etc/ssh/sshd_config_unix: # แƒขแƒแƒ•แƒ”แƒ‘แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก PermitRootLogin แƒแƒ™แƒ แƒซแƒแƒšแƒแƒ•แƒก-แƒžแƒแƒ แƒแƒšแƒก PasswordAuthentication แƒแƒ แƒ PermitEmptyPasswords แƒแƒ แƒ GSSAPIAแƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒ แƒ # แƒ–แƒฆแƒฃแƒ“แƒแƒ•แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒแƒก แƒจแƒ”แƒ แƒฉแƒ”แƒฃแƒš แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก AllowUsers root adminusername. 2 AuthorizedKeysFile .ssh /authorized_ keys # แƒฉแƒแƒ แƒ—แƒ”แƒ— sftp แƒฅแƒ•แƒ”แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ sftp /usr/libexec/openssh/sftp-server

แƒ’แƒแƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ— แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— systemd แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜: sudo systemctl daemon-reload sudo systemctl แƒฉแƒแƒ แƒ—แƒ”แƒ— โ€” แƒแƒฎแƒšแƒ sshd-unix.socket

แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ SSH แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ /root/.ssh/authorized_keys

SSH แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ.

แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— socat แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ: sudo dnf install socat

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ•แƒกแƒ”แƒ‘แƒ— /.ssh/config socat-แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒžแƒ แƒแƒฅแƒกแƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— UNIX แƒกแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: Host host.local User root # แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— /run/host/run แƒœแƒแƒชแƒ•แƒšแƒแƒ“ /run แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ“ ProxyCommand socat - UNIX-CLIENT: / run/ host/run/sshd.sock # แƒ’แƒ–แƒ SSH แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒกแƒ™แƒ”แƒœ IdentityFile ~/.ssh/keys/localroot # แƒฉแƒแƒ แƒ—แƒ”แƒ— TTY แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ’แƒแƒ แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก RequestTTY แƒ“แƒ˜แƒแƒฎ # แƒฌแƒแƒจแƒแƒšแƒ”แƒ— แƒแƒ แƒแƒกแƒแƒญแƒ˜แƒ แƒ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ LogLevel QUIET

แƒ›แƒ˜แƒกแƒ˜ แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒคแƒแƒ แƒ›แƒ˜แƒ—, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒแƒฎแƒšแƒ แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒก แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ แƒแƒ’แƒแƒ แƒช root, แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ: $ ssh host.local [root ~]#

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— sudohost แƒ›แƒ”แƒขแƒกแƒแƒฎแƒ”แƒšแƒก bash-แƒจแƒ˜, แƒ แƒแƒ—แƒ แƒ’แƒแƒฃแƒจแƒ•แƒแƒก โ€œssh host.localโ€, แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ 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) แƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒ˜=0(root)

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ— แƒ แƒฌแƒ›แƒฃแƒœแƒ”แƒ‘แƒแƒ—แƒ แƒกแƒ˜แƒ’แƒ”แƒšแƒ”แƒ‘แƒก แƒ“แƒ แƒ•แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒ— แƒแƒ แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœ แƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก, แƒ แƒแƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ˜แƒซแƒšแƒ”แƒ•แƒ root แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ Yubikey USB แƒŸแƒ”แƒขแƒแƒœแƒ˜แƒก แƒฉแƒแƒกแƒ›แƒ˜แƒกแƒแƒก.

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ—, แƒ แƒแƒ›แƒ”แƒš แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ”แƒ‘แƒก แƒฃแƒญแƒ”แƒ แƒก แƒ›แƒฎแƒแƒ แƒก แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ Yubikey: lsusb -v 2>/dev/null | grep -A2 Yubico | grep "bcdDevice" | awk "{print $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 [แƒ”แƒš.แƒคแƒแƒกแƒขแƒ˜แƒ— แƒ“แƒแƒชแƒฃแƒšแƒ˜แƒ],[แƒ”แƒš.แƒคแƒแƒกแƒขแƒ˜แƒ— แƒ“แƒแƒชแƒฃแƒšแƒ˜แƒ]

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฃแƒ–แƒฆแƒฃแƒ“แƒแƒ•แƒ— แƒฌแƒ•แƒ“แƒแƒ›แƒแƒก Unix แƒกแƒแƒ™แƒ”แƒขแƒ–แƒ” แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒ› แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒแƒ›แƒแƒฆแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒ˜แƒ•แƒ˜แƒšแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ (แƒฉแƒ•แƒ”แƒœแƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒจแƒ˜, แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜). /etc/systemd/system/sshd-unix.socket-แƒจแƒ˜ แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ—: [Socket] ... SocketUser=adminusername SocketGroup=adminusername SocketMode=0660

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ