방금 가상 머신에 guix를 설치했습니다. sshd를 실행하는 방법은 무엇입니까?

방금 가상 머신에 guix를 설치했습니다. sshd를 실행하는 방법은 무엇입니까?

저는 처음으로 guix 사용자이므로 이 기본적인 작업을 수행하는 데 도움이 필요합니다.

해보았 guix pull으나 guix install openssh명령어 sshd가 존재하지 않습니다. 입력 guix pullguix 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 ~$ 

관련 정보