janneke pushed a commit to branch wip-hurd-vm
in repository guix.
commit 39e6fa5986f79f5bc6766d602b234b237c0fcf6c
Author: Jan (janneke) Nieuwenhuizen <[email protected]>
AuthorDate: Sun Apr 19 13:15:06 2020 +0200
system: hurd: Add openssh service.
* gnu/system/hurd.scm (%base-packages/hurd): Add openssh.
(%hurd-os): Add openssh-service.
(cross-hurd-image): Generate sshd_config. Add sshd user.
---
gnu/system/hurd.scm | 24 ++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index bfeb5f5..f2269a8 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -32,11 +32,14 @@
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages hurd)
#:use-module (gnu packages less)
+ #:use-module (gnu packages ssh)
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services hurd)
#:use-module (gnu services shepherd)
+ #:use-module (gnu services ssh)
#:use-module (gnu system)
+ #:use-module (gnu system pam)
#:use-module (gnu system shadow)
#:use-module (gnu system vm)
#:export (cross-hurd-image))
@@ -65,7 +68,7 @@
(define %base-packages/hurd
(list hurd bash coreutils file findutils grep sed
guile-3.0 guile-colorized guile-readline
- net-base inetutils less shepherd which))
+ net-base inetutils less openssh shepherd which))
(define %base-services/hurd
(list (service hurd-user-processes-service-type)
@@ -78,7 +81,9 @@
(guix guix)
(extra-options '("--disable-chroot"
"--disable-deduplication"
- "--max-jobs=1"))))))
+ "--max-jobs=1"))))
+ (service hurd-loopback-service-type)
+ (syslog-service)))
(define %hurd-os
(operating-system
@@ -91,7 +96,15 @@
(timezone "GNUrope")
(name-service-switch #f)
(essential-services (hurd-essential-services this-operating-system))
- (services %base-services/hurd)
+ (services (cons (service openssh-service-type
+ (openssh-configuration
+ (use-pam? #f)
+ (openssh openssh)
+ (port-number 2222)
+ (permit-root-login #t)
+ (allow-empty-passwords? #t)
+ (password-authentication? #t)))
+ %base-services/hurd))
(pam-services '())
(setuid-programs '())))
@@ -133,6 +146,7 @@ fi\n")))
(account-service (append (operating-system-accounts os)
(operating-system-groups os))
(operating-system-skeletons os))
+ (pam-root-service (operating-system-pam-services os))
(hurd-etc-service os)
(service profile-service-type
(operating-system-packages os))))
@@ -247,6 +261,7 @@ menuentry \"GNU\" {
(plain-file "passwd"
"root:x:0:0:root:/root:/bin/sh
guixbuilder:x:1:1:guixbuilder:/var/empty:/bin/no-sh
+sshd:x:2:2:sshd:/var/empty:/bin/no-sh
"))
(define group
@@ -256,7 +271,7 @@ guixbuilder:x:1:1:guixbuilder:/var/empty:/bin/no-sh
(define shadow
(plain-file "shadow"
- "root::0:0:0:0:::
+ "root::17873::::::
"))
;; XXX This still gives 64bit .go files
@@ -325,6 +340,7 @@ guixbuilder:x:1:1:guixbuilder:/var/empty:/bin/no-sh
"i586-pc-gnu"))
hurd)
"/etc/ttys"))
+ (directory "/etc/ssh")
("/etc/shepherd.conf" -> ,shepherd.conf)
("/bin/sh" -> ,(file-append (with-parameters ((%current-target-system
"i586-pc-gnu"))