Ag baint úsáide as SSH thar soicéad UNIX in ionad sudo chun fáil réidh le comhaid suaitheanta

Mhol Timothee Ravier ó Red Hat, cothaitheoir na dtionscadal Fedora Silverblue agus Fedora Kinoite, bealach chun úsáid a bhaint as an bhfóntas sudo, a úsáideann an giotán suidéireachta chun pribhléidí a mhéadú. In ionad sudo, le haghaidh gnáth-úsáideoir orduithe a fhorghníomhú le cearta fréimhe, tá sé beartaithe an fóntais ssh a úsáid le nasc áitiúil leis an gcóras céanna trí soicéad UNIX agus fíorú ceadanna bunaithe ar eochracha SSH.

Trí úsáid a bhaint as ssh in ionad sudo is féidir leat fáil réidh le cláir suidéireachta ar an gcóras agus cur ar chumas orduithe pribhléide a fhorghníomhú i dtimpeallacht óstach na ndáiltí a úsáideann comhpháirteanna leithlisithe coimeádáin, mar shampla Fedora Silverblue, Fedora Kinoite, Fedora Sericea agus Fedora Onyx. Chun rochtain a shrianadh, is féidir deimhniú údaráis ag baint úsáide as comhartha USB (mar shampla, Yubikey) a úsáid freisin.

Sampla de chomhpháirteanna freastalaí OpenSSH a chumrú le haghaidh rochtana trí shoicéad Unix áitiúil (seolfar shampla sshd ar leith lena chomhad cumraíochta féin):

/etc/systemd/system/sshd-unix.socket: [Unit] Description=Freastalaí OpenSSH Unix Socket Documentation=man:sshd(8) man:sshd_config(5) [Soicéad] ListenStream=/run/sshd.sock Glac=tá [Suiteáil] WantedBy=sockets.target

/ etc / systemd / system /[ríomhphost faoi chosaint]: [Unit] Cur síos=Deamhan freastalaí OpenSSH in aghaidh an naisc (soicéad Unix) Documentation=man:sshd(8) man:sshd_config(5) Wants=sshd-keygen.target After=sshd-keygen.target [Seirbhís] ExecStart= - /usr/sbin/sshd -i -f /etc/ssh/sshd_config_unix StandardInput=soicéad

/etc/ssh/sshd_config_unix: # Fágann sé fíordheimhniú eochair amháin PermitRootLogin toirmeasc-pasfhocal PasswordFíordheimhnithe gan ceadEmptyPasswords gan GSSAPIA fíordheimhniú níl # srian ar rochtain úsáideoirí roghnaithe AllowUsers root adminusername # Fágann sé seo ach úsáid .ssh/authorized_keys.keys/authorized / authorized_ keys # cumasaigh sftp Fochóras sftp /usr/libexec/openssh/sftp-server

Gníomhachtaigh agus seol an t-aonad systemd: sudo systemctl daemon-reload sudo systemctl chumasú —now sshd-unix.socket

Cuir d'eochair SSH le /root/.ssh/authorized_keys

An cliant SSH a shocrú.

Suiteáil an fóntais socat: sudo dnf install socat

Forlíonaimid /.ssh/config trí socat a shonrú mar sheachvótálaí le haghaidh rochtana trí shoicéad UNIX: Fréamh úsáideora host.local óstach # Úsáid / run/host/run ionad / rith chun oibriú ó choimeádáin ProxyCommand socat - UNIX-CLIENT: / run/ host/run/sshd.sock # Conair chuig an eochair SSH IdentityFile ~/.ssh/keys/localroot # Cumasaigh tacaíocht TTY don bhlaosc idirghníomhach RequestTTY tá # Bain aschur neamhriachtanach LogLevel QUIET

Ina fhoirm reatha, beidh an t-ainm úsáideora admin anois in ann orduithe a fhorghníomhú mar fhréamh gan pasfhocal a iontráil. Ag seiceáil na hoibríochta: $ ssh host.local [root ~]#

Cruthaímid alias sudohost i bash chun “ssh host.local” a rith, cosúil le sudo: sudohost() { if [[ ${#} -eq 0 ]]; ansin ssh host.local "cd \"${PWD}\"; exec \"${SHELL}\" --login" eile ssh host.local "cd \"${PWD}\"; exec \»${@}\»» fi }

Seiceáil: $ sudohost id uid=0(root) gid=0(root) groups=0(root)

Cuirimid dintiúir leis agus cumasaíonn muid fíordheimhniú dhá fhachtóir, rud a cheadaíonn rochtain fhréamh ach amháin nuair a chuirtear isteach comhartha USB Yubikey.

Seiceálaimid cé na halgartaim a fhaigheann tacaíocht ón Yubikey reatha: lsusb -v 2>/dev/null | grep -A2 Yubico | grep "bcdDevice" | awk '{print $2}'

Má tá an t-aschur 5.2.3 nó níos mó, bain úsáid as ed25519-sk agus eochracha á nginiúint agat, nó bain úsáid as ecdsa-sk: ssh-keygen -t ed25519-sk nó ssh-keygen -t ecdsa-sk

Cuireann sé an eochair phoiblí le /root/.ssh/authorized_keys

Cuir cineál eochair ceangailteach leis an gcumraíocht sshd: /etc/ssh/sshd_config_unix: PubkeyAcceptedKeyTypes [ríomhphost faoi chosaint],[ríomhphost faoi chosaint]

Cuirimid srian ar rochtain ar an soicéad Unix don úsáideoir amháin ar féidir leis na pribhléidí a ardú (inár shampla, an t-ainm admin). In /etc/systemd/system/sshd-unix.socket cuir: [Soicéad] ... SocketUser=ainm admin SocketGroup=ainm admin SocketMode=0660

Foinse: oscailtenet.ru

Add a comment