시작 시 디스크 암호화를 위해 openSSH를 사용하는 방법(OpenSSH 및 Dropbear)

시작 시 디스크 암호화를 위해 openSSH를 사용하는 방법(OpenSSH 및 Dropbear)

기본 설정:
- 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 입니다.

모든 명령은 루트로 실행됩니다.

  1. 수도수
  2. 냠 업데이트
  3. 냠 epel-릴리스 설치
  4. 냠 vim 설치
  5. 냠 설치 wget
  6. 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
  7. Yum dracut-crypt-ssh를 설치하세요.
  8. 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!" 명령을 통해 편집기의 변경 사항을 저장하세요.

  9. 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""로 변경합니다.

  10. mkdir /키

  11. mkdir /keys/dropbear
  12. vim /keys/dropbear/authorized_keys -> 공개 키 추가
    제 경우에는 PuTTYgen을 실행하여 키 쌍을 생성하고 SSH를 통해 공개 키를 편집기에 복사했습니다.

  13. grub2-mkconfig --output /etc/grub2.cfg

  14. dracut--강제
  15. 재시작

  1. "PuTTY" 프로그램을 사용하여 Windows PC의 시작 셸에 로그인합니다.
    설정:
    a. IP 주소: 서버 IP 주소
    B. 포트: 22c
    . 연결->데이터->자동 로그인 사용자 이름: 루트
    d. 연결->SSH->인증->인증용 개인키 파일->Dropbear.ppk->열기버튼 클릭

다음이 표시되어야 합니다.

사용자 이름 "root"를 사용하십시오. 공개 키 "rsa-key-20160322" -sh-4.2#을 사용한 인증

  1. console_peek(어떤 이유로든 비밀번호를 성공적으로 전달하려면 console_auth 전에 이 명령이 항상 필요합니다).
  2. console_auth -> 비밀번호: -> 암호화된 장치의 비밀번호를 입력하고 Enter를 누르세요.

crypttab에는 부팅 시 잠금을 해제할 수 없는 파티션이 많이 포함되어 있기 때문에 잠금 해제가 작동하지 않았습니다.

답변2

그렇다면 dropbear가 부팅 시 원격 액세스를 위한 옳고 유일한 선택일까요?

CentOS에서 initramfs 이미지를 구축하는 데 사용되는 dracut에 대해 추가 조사를 수행한 결과 옵션이 표시되었습니다."--sshkey"모듈 로딩 옵션과 함께 사용해야 합니다."ssh-클라이언트"/etc/dracut.conf에서.

이미 ssh 클라이언트가 있는 것 같아서 별도로 dropbear를 설치할 필요가 없는 것 같습니다. 이전에 이 옵션을 시도해 본 사람이 있나요? 이에 대한 좋은 튜토리얼을 아는 사람이 있나요?

관련 정보