我是第一次使用 guix 用户,需要帮助来做这个基本的事情。
我做了guix pull
,guix install openssh
但sshd
命令不存在。输入guix pull
和后guix install openssh
,我现在有了 openssh 包,但sshd
命令不存在。看完之后这段摘录看来我需要编辑配置,但是这个环境只是 guix 的 qemu 映像。并且/etc/config.scm
是一个空文件。所以没有什么可编辑的。在 guix 中启动后,如何运行 sshd 服务?
答案1
所以我发现很多二进制文件都在guix中,只是对用户隐藏,你可以从 调用 sshd guix shell openssh
,只是从外部看不到它。
我的尝试:
# This is messy and not really a guix way, but for now best I can do
sudo mkdir -p /etc/ssh
sudo tee /etc/ssh/sshd_config <<-EOF
PermitRootLogin yes
PermitEmptyPasswords yes
EOF
sudo groupadd sshd
sudo useradd -g sshd sshd
sudo ssh-keygen -A
sudo guix shell openssh -- sh -c '"$(which sshd)"'
编辑:当你通常尝试时会发生什么。
guest@gnu ~$ sshd
bash: sshd: command not found
guest@gnu ~$ guix shell openssh -- sh -c sshd
sshd re-exec requires execution with an absolute path
guest@gnu ~$ guix shell openssh -- sh -c $(which sshd)
which: no sshd in (/run/setuid-programs:/home/guest/.config/guix/current/bin:/home/guest/.guix-profile/bin:/run/current-system/profile/bin:/run/current-system/profile/sbin)
sh: -c: option requires an argument
guest@gnu ~$ guix shell openssh -- sh -c "$(which sshd)"
which: no sshd in (/run/setuid-programs:/home/guest/.config/guix/current/bin:/home/guest/.guix-profile/bin:/run/current-system/profile/bin:/run/current-system/profile/sbin)
guest@gnu ~$ guix shell openssh -- sh -c '"$(which sshd)"'
/etc/ssh/sshd_config: Permission denied
guest@gnu ~$ sudo guix shell openssh -- sh -c '"$(which sshd)"'
guest@gnu ~$