SSH를 통해 암호화된 파티션의 잠금을 해제할 수 있도록 initramfs에서 dropbear SSH 서버를 시작하고 있습니다.*.
Debian Jessie에서는 모든 것이 괜찮지만 Buster에서는 dropbear가 나중에 멈추지 않는 것 같아서 switch_root
OpenBSD SSH 서버가 시작되지 않습니다.
apt-get purge dropbear
도움이 되지 않으며 which dropbear
인쇄 /usr/bin/dropbear
및 ps -ef | grep dropbear
인쇄됩니다 /sbin/dropbear
. 이는 프로세스가 initramfs 단계에서 시작되었으며 중지되지 않았음을 보여줍니다.
해결 방법으로 killall dropbear
SSH 서비스 스크립트에서 이 작업을 수행하지만 루트 파티션을 전환하기 전에 이를 종료하는 것이 더 적절할 것입니다.
이 시점에서 스크립트를 어떻게 실행합니까?
답변1
다음과 같이 정리 스크립트를 만듭니다 /etc/initramfs-tools/scripts/init-bottom/cleanup.sh
.
#!/bin/sh
echo "Killing dropbear"
killall dropbear
exit 0
...실행 가능하게 만듭니다.
chmod +x /etc/initramfs-tools/scripts/init-bottom/cleanup.sh
평소대로 initramfs를 업데이트합니다.
update-initramfs -u
답변2
이미 switch_root를 호출하는 스크립트가 있으므로 거기에 줄을 삽입하면 dropbear를 중지할 수 있습니다.
SSH 연결에서 중지할 수도 있습니다. 로그인하자마자 두 개의 dropbear 프로세스가 있습니다. 첫 번째는 새로운 연결을 수락하는 프로세스이고, 두 번째는 연결을 서비스하는 프로세스입니다. 이 시점에서는 여러 연결이 필요하지 않으므로 첫 번째 프로세스를 종료할 수 있습니다. 연결이 끊어지면 두 번째 프로세스가 종료됩니다.
식별하는 다른 방법이 있지만 시작 프로세스 초기에 새 연결을 수락하는 프로세스의 프로세스 번호가 더 낮다는 것을 확인할 수 있습니다.