我刚刚在虚拟机上安装了 guix..如何运行 sshd?

我刚刚在虚拟机上安装了 guix..如何运行 sshd?

我是第一次使用 guix 用户,需要帮助来做这个基本的事情。

我做了guix pullguix install opensshsshd命令不存在。输入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 ~$ 

相关内容