Archived
1
0
Fork 0

services: openssh: Replace 'without-password' by 'prohibit-password'.

For some time, OpenSSH's option 'PermitRootLogin' has deprecated the
ambiguous argument 'without-password' with 'prohibit-password'.

* doc/guix.texi (Network Services): Replace 'without-password by
'prohibit-password.
* gnu/machine/digital-ocean.scm (guix-infect): Change system
configuration to use 'prohibit-password.
* gnu/services/ssh.scm (openssh-configuration): Change comment to use
'prohibit-password.
(openssh-config-file): Add support for 'prohibit-password to
'permit-root-login'.  Warn about deprecated 'without-password usage.
* gnu/tests/ganeti.scm (%ganeti-os): Replace 'without-password by
'prohibit-password.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
This commit is contained in:
Brice Waegeneire 2021-06-20 15:15:55 +02:00 committed by Tobias Geerinckx-Rice
parent a211078f99
commit ef3f38ea00
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79
4 changed files with 16 additions and 7 deletions

View file

@ -17070,7 +17070,7 @@ shell daemon, @command{sshd}. Its value must be an
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration
(x11-forwarding? #t) (x11-forwarding? #t)
(permit-root-login 'without-password) (permit-root-login 'prohibit-password)
(authorized-keys (authorized-keys
`(("alice" ,(local-file "alice.pub")) `(("alice" ,(local-file "alice.pub"))
("bob" ,(local-file "bob.pub")))))) ("bob" ,(local-file "bob.pub"))))))
@ -17104,7 +17104,7 @@ TCP port on which @command{sshd} listens for incoming connections.
@item @code{permit-root-login} (default: @code{#f}) @item @code{permit-root-login} (default: @code{#f})
This field determines whether and when to allow logins as root. If This field determines whether and when to allow logins as root. If
@code{#f}, root logins are disallowed; if @code{#t}, they are allowed. @code{#f}, root logins are disallowed; if @code{#t}, they are allowed.
If it's the symbol @code{'without-password}, then root logins are If it's the symbol @code{'prohibit-password}, then root logins are
permitted but not with password-based authentication. permitted but not with password-based authentication.
@item @code{allow-empty-passwords?} (default: @code{#f}) @item @code{allow-empty-passwords?} (default: @code{#f})
@ -29333,7 +29333,7 @@ cluster node that supports multiple storage backends, and installs the
;; Ganeti uses SSH to communicate between nodes. ;; Ganeti uses SSH to communicate between nodes.
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration
(permit-root-login 'without-password))) (permit-root-login 'prohibit-password)))
(service ganeti-service-type (service ganeti-service-type
(ganeti-configuration (ganeti-configuration

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org> ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -256,7 +257,7 @@ cat > /etc/bootstrap-config.scm << EOF
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration
(log-level 'debug) (log-level 'debug)
(permit-root-login 'without-password)))) (permit-root-login 'prohibit-password))))
%base-services))) %base-services)))
EOF EOF
# guix pull # guix pull

View file

@ -6,6 +6,8 @@
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc> ;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -30,6 +32,7 @@
#:use-module (gnu services web) #:use-module (gnu services web)
#:use-module (gnu system pam) #:use-module (gnu system pam)
#:use-module (gnu system shadow) #:use-module (gnu system shadow)
#:use-module (guix deprecation)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix modules) #:use-module (guix modules)
@ -288,7 +291,7 @@ The other options should be self-descriptive."
;; integer ;; integer
(port-number openssh-configuration-port-number (port-number openssh-configuration-port-number
(default 22)) (default 22))
;; Boolean | 'without-password ;; Boolean | 'prohibit-password
(permit-root-login openssh-configuration-permit-root-login (permit-root-login openssh-configuration-permit-root-login
(default #f)) (default #f))
;; Boolean ;; Boolean
@ -441,7 +444,11 @@ of user-name/file-like tuples."
#$(match (openssh-configuration-permit-root-login config) #$(match (openssh-configuration-permit-root-login config)
(#t "yes") (#t "yes")
(#f "no") (#f "no")
('without-password "without-password"))) ('without-password (warn-about-deprecation
'without-password #f
#:replacement 'prohibit-password)
"prohibit-password")
('prohibit-password "prohibit-password")))
(format port "PermitEmptyPasswords ~a\n" (format port "PermitEmptyPasswords ~a\n"
#$(if (openssh-configuration-allow-empty-passwords? config) #$(if (openssh-configuration-allow-empty-passwords? config)
"yes" "no")) "yes" "no"))

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>. ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>.
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -65,7 +66,7 @@
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration
(permit-root-login 'without-password))) (permit-root-login 'prohibit-password)))
(service ganeti-service-type (service ganeti-service-type
(ganeti-configuration (ganeti-configuration