A’ cleachdadh SSH thairis air socaid UNIX an àite sudo gus faighinn cuidhteas faidhlichean suid

Mhol Timothee Ravier bho Red Hat, neach-gleidhidh nam pròiseactan Fedora Silverblue agus Fedora Kinoite, dòigh air a bhith a’ seachnadh cleachdadh a’ ghoireas sudo, a bhios a’ cleachdadh am pìos suidse gus sochairean àrdachadh. An àite sudo, airson neach-cleachdaidh àbhaisteach òrdughan a chuir an gnìomh le còraichean freumha, thathas a’ moladh an goireas ssh a chleachdadh le ceangal ionadail ris an aon shiostam tro socaid UNIX agus dearbhadh ceadan stèidhichte air iuchraichean SSH.

Le bhith a’ cleachdadh ssh an àite sudo leigidh sin leat faighinn cuidhteas prògraman suididh air an t-siostam agus cuir an gnìomh òrdughan sochair anns an àrainneachd aoigheachd de sgaoilidhean a bhios a’ cleachdadh co-phàirtean aonaranachd container, leithid Fedora Silverblue, Fedora Kinoite, Fedora Sericea agus Fedora Onyx. Gus casg a chuir air ruigsinneachd, faodar dearbhadh ùghdarrais a’ cleachdadh comharra USB (mar eisimpleir, Yubikey) a chleachdadh a bharrachd.

Eisimpleir de bhith a’ rèiteachadh phàirtean frithealaiche OpenSSH airson faighinn a-steach tro socaid Unix ionadail (thèid eisimpleir sshd air leth a chuir air bhog leis an fhaidhle rèiteachaidh aige fhèin):

/etc/systemd/system/sshd-unix.socket: [Unit] Tuairisgeul=Frithealaiche OpenSSH Unix Socket Documentation=man:sshd(8) man:sshd_config(5) [Socket] ListenStream=/run/sshd.sock Gabh ris=tha [Stàlaich] WantedBy=sockets.target

/ etc / systemd / system /[post-d fo dhìon]: [Unit] Tuairisgeul=Deamhan frithealaiche OpenSSH per-connection (Unix socket) Documentation=man:sshd(8) man:sshd_config(5) Wants=sshd-keygen.target Às dèidh=sshd-keygen.target [Seirbheis] ExecStart= - /usr/sbin/sshd -i -f /etc/ssh/sshd_config_unix StandardInput=socaid

/etc/ssh/sshd_config_unix: # A’ fàgail a-mhàin prìomh dhearbhadh PermitRootLogin prohibit-password PasswordAuthentication no PermitEmptyPasswords no GSSAPIADearbhadh chan eil # a’ cuingealachadh ruigsinneachd do luchd-cleachdaidh taghte AllowUsers root adminusername # A’ fàgail dìreach cleachdadh .ssh/authorized_keyskeys/authorized_keys. / ùghdarraichte_ iuchraichean # comas a thoirt do sftp Subsystem sftp / usr/libexec/openssh/sftp-server

Cuir an gnìomh agus cuir air bhog an aonad systemd: sudo systemctl daemon-reload sudo systemctl comas -now sshd-unix.socket

Cuir an iuchair SSH agad gu /root/.ssh/authorized_keys

A’ stèidheachadh an neach-dèiligidh SSH.

Stàlaich an goireas socat: sudo dnf install socat

Bidh sinn a’ cur ris /.ssh/config le bhith a’ sònrachadh socat mar neach-ionaid airson faighinn a-steach tro socaid UNIX: Host host.local User root # Cleachd / run/host/run an àite / ruith gus obrachadh bho shoithichean ProxyCommand socat - UNIX-CLIENT: / run/ host/run/sshd.sock # Slighe gu iuchair SSH IdentityFile ~/.ssh/keys/localroot # Dèan comas air taic TTY airson an t-slige eadar-obrachail RequestTTY tha # Thoir air falbh toradh neo-riatanach LogLevel QUIET

Anns an fhoirm a th’ ann an-dràsta, bidh an t-ainm-rianachd cleachdaiche a-nis comasach air òrdughan a chuir an gnìomh mar fhreumh gun a bhith a’ cur a-steach facal-faire. A' sgrùdadh an obrachaidh: $ ssh host.local [root ~] #

Bidh sinn a’ cruthachadh alias sudohost ann am bash gus “ssh host.local” a ruith, coltach ri sudo: sudohost() { ma tha [[ ${#} -eq 0 ]]; an uairsin ssh host.local "cd \"${PWD}\"; exec \"${SHELL}\" --login" eile ssh host.local "cd \"${PWD}\"; exec \»${@}\»» fi }

Thoir sùil: $ sudohost id uid = 0 (root) gid = 0 (root) buidhnean = 0 (freumh)

Bidh sinn a’ cur teisteanasan ris agus a’ comasachadh dearbhadh dà-fhactaraidh, a’ ceadachadh ruigsinneachd fhreumh a-mhàin nuair a thèid comharra USB Yubikey a chuir a-steach.

Nì sinn sgrùdadh dè na h-algorithms a tha a’ faighinn taic bhon Yubikey a th’ ann mar-thà: lsusb -v 2>/dev/null | grep -A2 Yubico | grep "bcdDevice" | dùisg '{print $2}'

Ma tha an toradh 5.2.3 no nas motha, cleachd ed25519-sk nuair a bhios tu a’ gineadh iuchraichean, air neo cleachd ecdsa-sk: ssh-keygen -t ed25519-sk no ssh-keygen -t ecdsa-sk

Cuir an iuchair phoblach ri /root/.ssh/authorized_keys

Cuir prìomh sheòrsa ceangailte ris an rèiteachadh sshd: /etc/ssh/sshd_config_unix: PubkeyAcceptedKeyTypes [post-d fo dhìon],[post-d fo dhìon]

Bidh sinn a’ cuingealachadh ruigsinneachd air socaid Unix gu dìreach an neach-cleachdaidh as urrainn sochairean àrdachadh (san eisimpleir againn, ainm-cleachdaidh). Ann an /etc/systemd/system/sshd-unix.socket cuir ris: [Socket] ... SocketUser=adminusername SocketGroup=adminusername SocketMode=0660

Source: fosgailtenet.ru

Cuir beachd ann