私は初めて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 ~$