기본 설정:
- OS: CentOS 7(64비트)
- Grub 2
- ext4를 사용한 별도의 부팅 파티션
- 두 디스크 파티션의 luks 암호화(aes-xts-plain64:sha512), 부팅 시 둘 다 전달해야 함 비밀번호 잠금 해제
- 두 파티션을 잠금 해제한 후 raid1 btrfs 파일 시스템에 /로 마운트됨
이제 부팅 시 원격 액세스를 통해 두 파티션의 잠금을 해제하는 깔끔한 전략을 찾고 있습니다.
Raspberry Pi 2에서는 Dropbear를 사용하여 이 작업을 수행했으며 제가 찾은 대부분의 스레드는 더 큰 시스템에서도 이 옵션을 선호하는 것 같습니다. 더 큰 시스템에서도 아무도 필요한 부트로더 리소스에 신경 쓰지 않습니다.
질문:
CentOS 7 Grub2(새로 설치)에 대한 이해를 바탕으로 이미 기본적으로 OpenSSH 서비스가 실행되고 있습니다. openSSH와 dropbear가 동일한 작업을 수행한다면 왜 dropbear를 설치해야 합니까?
grub에 대해 openSSH를 구성하고 다음 명령을 붙여 넣을 수 있습니까?
/lib/cryptsetup/askpass "비밀번호:" > /lib/cryptsetup/passfifo
openSSH를 통해 직접?
답변1
이 질문을 완료하려면. 이것은 CentOS에 dropbear를 설치한 것입니다.
다음 스크립트와 설명을 사용했습니다. https://github.com/dracut-crypt-ssh/dracut-crypt-ssh
다음 설치 방법은 2.1 입니다.
모든 명령은 루트로 실행됩니다.
- 수도수
- 냠 업데이트
- 냠 epel-릴리스 설치
- 냠 vim 설치
- 냠 설치 wget
- wget -O /etc/yum.repos.d/rbu-dracut-crypt-ssh-epel-7.repohttps://copr.fedorainfracloud.org/coprs/rbu/dracut-crypt-ssh/repo/epel-7/rbu-dracut-crypt-ssh-epel-7.repo
- Yum dracut-crypt-ssh를 설치하세요.
vim /etc/default/grub -> "GRUB_CMDLINE_LINUX" 줄 변경(편집기에서 i를 눌러. 텍스트를 변경할 수 있음)
이전 줄:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.luks.uuid=luks-e0e5a45d-9773-428f - b0b4-79e85395f1e7 rd.luks.uuid=luks-c4d735fb-ce26-43ec-b9fe-2c48acded15c vconsole.font=latarcyrheb-sun16 vconsole.keymap=de rhgb Quiet"
새 줄:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.neednet=1 ip =dhcp rd.luks.uuid=luks-e0e5a45d-9773-428f-b0b4-79e85395f1e7 rd.luks.uuid=luks-c4d735fb-ce26-43ec-b9fe-2c48acded15c vconsole.font=latarcyrheb-sun16 vconsole.keymap=de gQu 즉 "
항상 "ESC -> :wq!" 명령을 통해 편집기의 변경 사항을 저장하세요.vim /etc/dracut.conf.d/crypt-ssh.conf -> Authorized_keys에 대한 포트 및 참조 변경(i를 다시 누르십시오
) 권장 포트 행의 선택을 취소하고 기본 포트 222를 포트 22로 변경하십시오:
"# dropbear_port="222 " "는 "dropbear_port="22""로 변경
authorized_keys 행의 주석 처리를 제거하고 경로를
"# dropbear_acl="/root/.ssh/authorized_keys""에서 "dropbear_acl="/keys/dropbear/authorized_keys""로 변경합니다.mkdir /키
- mkdir /keys/dropbear
vim /keys/dropbear/authorized_keys -> 공개 키 추가
제 경우에는 PuTTYgen을 실행하여 키 쌍을 생성하고 SSH를 통해 공개 키를 편집기에 복사했습니다.grub2-mkconfig --output /etc/grub2.cfg
- dracut--강제
- 재시작
- "PuTTY" 프로그램을 사용하여 Windows PC의 시작 셸에 로그인합니다.
설정:
a. IP 주소: 서버 IP 주소
B. 포트: 22c
. 연결->데이터->자동 로그인 사용자 이름: 루트
d. 연결->SSH->인증->인증용 개인키 파일->Dropbear.ppk->열기버튼 클릭
다음이 표시되어야 합니다.
사용자 이름 "root"를 사용하십시오. 공개 키 "rsa-key-20160322" -sh-4.2#을 사용한 인증
- console_peek(어떤 이유로든 비밀번호를 성공적으로 전달하려면 console_auth 전에 이 명령이 항상 필요합니다).
- console_auth -> 비밀번호: -> 암호화된 장치의 비밀번호를 입력하고 Enter를 누르세요.
crypttab에는 부팅 시 잠금을 해제할 수 없는 파티션이 많이 포함되어 있기 때문에 잠금 해제가 작동하지 않았습니다.
답변2
그렇다면 dropbear가 부팅 시 원격 액세스를 위한 옳고 유일한 선택일까요?
CentOS에서 initramfs 이미지를 구축하는 데 사용되는 dracut에 대해 추가 조사를 수행한 결과 옵션이 표시되었습니다."--sshkey"모듈 로딩 옵션과 함께 사용해야 합니다."ssh-클라이언트"/etc/dracut.conf에서.
이미 ssh 클라이언트가 있는 것 같아서 별도로 dropbear를 설치할 필요가 없는 것 같습니다. 이전에 이 옵션을 시도해 본 사람이 있나요? 이에 대한 좋은 튜토리얼을 아는 사람이 있나요?