셸에서 간단하고 안전한 비밀번호 관리

보안 암호 관리의 사용은 특히 기업 환경에서 산업 스파이와 취미 해커에게 모든 문을 열어 두지 않기 위해 절대적으로 필요합니다. 여러 서비스(아마도 모든 서비스)에 대해 안전하지 않고 추측하기 쉬운 암호를 선택하는 것 외에도 종이나 텍스트 파일에 암호를 “관리”하는 것은 특히 광범위하고 심각한 위험을 나타냅니다. 접근 데이터를 부주의하게 다루는 이유는 종종 사용자의 편의 때문입니다. 셸에서 직접 사용할 수 있는 관리 가능한 노력으로 간단하고 안전한 암호 관리를 설정할 수 있는 방법을 보여줍니다.

이 문서의 목표는 명령줄과 그래픽 사용자 인터페이스 모두에서 작동하는 Linux 환경에서 안전하고 시간을 절약하는 암호 관리를 위한 워크플로를 설명하는 것입니다. 이 기사는 기본적으로 Linux 셸에 익숙하거나 되고자 하는 사용자를 대상으로 합니다. 순수한 그래픽 솔루션을 선호하는 데스크톱 사용자의 경우 Linux 및 Windows용 B. Keepass와 같은 좋은 대안이 있습니다.

명령줄을 통한 액세스는 다른 명령과 결합하려는 경우에 특히 유용합니다. 또한 하나 이상의 작업을 수행할 수 있습니다. SSH 터미널여기서 대상 컴퓨터는 그래픽 사용자 인터페이스 없이 명령줄만 제공합니다.

기본적으로 이 워크플로는 자신의 암호 저장소에서 원하는 암호를 빠르게 선택할 수 있어야 합니다. 모든 비밀번호는 GPG 키
이 키의 암호만 기억하면 암호에 액세스할 수 있도록 암호화됩니다. 모든 암호는 암호 메모리에 한 번만 입력해야 합니다. 비밀번호 저장소는 다음 위치에 있는 간단한 디렉토리 구조로 구성됩니다. 홈 디렉토리 사용자의 위치입니다. 이전 암호 항목은 버전 관리 덕분에 Git 리포지토리를 통해 복원할 수 있습니다.

쉘에서 비밀번호 관리의 장점

  • 암호를 기억하거나 입력할 필요가 없기 때문에 길고 복잡하며 따라서 안전한 암호가 가능합니다.
  • 비밀번호 암호화.
  • 빠른 액세스.
  • 대용량 비밀번호 목록을 간단한 구조로 관리할 수 있습니다.
  • 강력한 암호 하나만 기억하면 됩니다.
  • 편의를 위해 생성한 파일에는 암호화되지 않은 암호 목록이 없습니다.
  • 암호를 외우자마자 파기해야 하는 종이 조각이 없습니다.
  • 암호는 다음과 함께 사용할 수 있습니다. 공개 GPG 키 대상자의 정보는 암호화되어 메일 또는 기타 방법으로 안전하게 전송됩니다.
  • 하나의 중앙 위치에 보안이 설정되고 여러 작업 환경에 안전하게 배포할 수 있는 암호 저장소입니다.

단점

  • 두 번째 사람이 개인 정보에 액세스할 수 있습니까? GPG 키 그녀는 그것으로 암호화된 모든 암호를 볼 수 있습니다.
  • 필수 도구는 암호 액세스를 위해 모든 작업 환경에서 한 번 설정해야 합니다. 문제를 해결하는 상당히 안전한 방법은 작업 환경을 설정하는 것입니다. SSH 서버 당 다른 장소에서 운영
    SSH 터미널 쉘 환경에 액세스합니다.
  • 사용하는 GPG 에이전트를 사용하면 약간의 보안 위험이 있습니다. 개인 GPG 키 캐시.

운영 체제는 모든 Linux 배포판이어야 합니다. 필요한 도구는 BSD, MacOS X 또는 기타 UNIX 파생물에도 사용할 수 있으므로 워크플로우가 이들에서도 작동합니다. 단, 이 글은 리눅스 환경을 전제로 합니다.

여기에 사용된 모든 도구에는 유용한 설치 지침과 ArchLinux 위키에 대한 참조가 있습니다.

다음 도구는 워크플로우의 일부입니다.

여권

명령줄 도구 pass 암호 저장소를 관리하고 액세스하기 위한 중앙 논리를 포함합니다.

GnuPG

GnuPG는 OpenPGP를 통해 암호 저장소를 암호화하기 위한 명령줄 도구를 제공합니다.

dmenu(선택사항)

명령줄 도구 dmenu 검색 필드를 통해 모든 목록에서 빠른 선택을 제공하고 X 윈도우 시스템을 사용합니다. 의 설치로
pass 또한 명령줄 도구가 됨 passmenu 제공 dmenu 암호 저장소의 개별 항목을 나열합니다. 아마도 경로 passmenu 에서 수동으로 PATH– 선행 경로 없이 명령어로 호출할 수 있도록 환경 변수가 추가됩니다. 이것은 예를 들어 “Debian” Linux 배포판의 경우입니다.

자식(선택 사항)

명령줄 도구 git 여러 작업 환경에서 분산 작업을 가능하게 하는 소프트웨어 프로젝트를 위한 널리 사용되는 DVCS(Distributed Version Control System)입니다. 프로젝트는 중앙 서버(저장소)에 있습니다. 암호 저장소는 여기에서 Git 프로젝트로 유지 관리되어 다른 장치 또는 사용자 계정에 액세스할 수 있습니다. 또한 암호 저장소의 이전 상태를 재설정할 수 있습니다. 예를 들어 B. 실수로 덮어쓰거나 삭제한 암호 항목을 복원할 수 있습니다.

필요한 모든 도구는 각 Linux 배포판의 패키지 관리자를 통해 설치 및 설정할 수 있습니다. 이러한 설정 지침은 필요한 도구가 이미 시스템에 설치되어 작동하고 있다고 가정합니다.

암호 저장소 만들기

    pass init "[email protected]"

새 암호 저장소를 만들고 사용하십시오. GPG 키 쌍 신분증으로 [email protected] 암호를 암호화하고 해독하기 위해.

아직 아니라면 GPG 키 쌍 다음 명령으로 수행할 수 있습니다.

    gpg --gen-key

새로운 경우 개인 GPG 키 암호가 제공되면 암호를 검색할 때 요청됩니다.
통지: 이것만은 잊지마 GPG 키 쌍 적당한 장소에 확보. 키를 분실하면 전체 암호 메모리를 사용할 수 없습니다.

Git 리포지토리 만들기

    pass git init
    pass git remote add origin "https://github.com/somebody/password-store.git"
    pass git push

암호 저장소에 대한 새 로컬 git 프로젝트를 만들고 암호 저장소가 저장될 원격 시스템의 git 프로젝트 경로를 설정합니다. 이제 모두에게 그것에 대해 pass 암호 저장소에 대한 변경 사항이 자동으로 저장됨 자식 커밋 해당 메시지로 생성됩니다.

통지: 여기에서 암호 항목의 이름을 선택할 때 너무 많이 공개하지 않는다는 점에 유의해야 합니다. 이는 끝이 있는 단순한 파일이기 때문입니다. .gpg 현재의. Git 저장소는 로컬 네트워크의 B.와 같은 안전한 위치, 개인 서버 또는 github.com의 개인 저장소에 있는 것이 좋습니다.

GPG 에이전트

GPG 에이전트는 백그라운드에서 실행되는 GnuPG 프로그램이며 개인 GPG 키
모든 암호 쿼리에 포함되지 않도록 캐시됨 pass
읽고 암호를 입력해야 합니다.

파일 ~/.gnupg/gpg-agent.conf 에이전트에 대한 모든 옵션을 포함합니다. 다음은 몇 가지 유용한 샘플 옵션입니다.

    # Setzt eine Lebenszeit von fünf Stunden für die letzte Passwortabfrage.
    # Nach Überschreiten dieser Zeit wird der private GPG-Schlüssel erneut ausgelesen.
    default-cache-ttl 18000

    # Setzt eine maximale Lebenszeit von 24 Stunden für den zwischengespeicherten
    # privaten GPG-Schlüssel. 24 Stunden nach der letzten Abfrage des privaten
    # GPG-Schlüssels wird dieser erneut abgefragt.
    max-cache-ttl 86400

비밀번호를 입력하세요

    pass insert email/[email protected]/smtp

새 항목을 추가합니다. smtp 레지스터에서 email/[email protected] ㅏ.
email 다음은 모든 이메일 계정이 있는 디렉토리입니다.
smtp 액세스의 이름입니다. 이렇게 하면 파일 smtp.pgp 적절한 디렉토리에 생성됩니다.

암호를 입력하는 옵션을 제공합니다. 필요한 경우 액세스를 위한 암호 개인 GPG 키
새 암호를 암호화하기 위해 쿼리합니다.

    pass insert email/[email protected]/smtp < password.txt

파일에서 내용을 읽습니다. password.txt 새 암호로 입력하십시오.

비밀번호 찾기

    pass email/[email protected]/smtp

요청된 암호를 표준 출력.

    pass -c email/[email protected]/smtp

요청된 암호를 클립보드에 쓰고 45초 후에 비웁니다.

    passmenu -l 20

검색 상자와 함께 최대 20개 항목의 선택 목록을 표시합니다. 이 명령은 전역 바로 가기 키와 함께 제공될 수 있습니다.

암호 이동

    pass mv email/[email protected]/smtp email/[email protected]

암호 저장소는 다음 위치에 있습니다. .password-store 에서 홈 디렉토리
로그인한 사용자의.

비밀번호 생성

    pass generate email/[email protected]/smtp 12

새로운 12자리 암호를 생성합니다. 암호 생성기는 몇 가지 옵션을 제공합니다. 유용한 옵션은 예를 들어 B입니다. --no-symbols암호에 특수 문자가 없고 영숫자 문자만 표시되도록 합니다.

비밀번호를 보내다

먼저 GPG 공개 키 받는 사람 (recipient.key) 필요합니다. 아직 수행하지 않은 경우 다음 명령을 사용하여 가져올 수 있습니다.

    gpg --import recipient.key

이 키는 이제 키체인에 있으며 더 이상 사용하기 위해 가져올 필요가 없습니다. 그런 다음 전송을 위해 암호를 암호화할 수 있습니다. 이를 위해 z. 나. 아래 비밀번호 email/[email protected]/smtp 비밀번호 입력이 사용되는 시점부터. 여기에서 이메일 주소를 식별합니다. [email protected] 그만큼 개인 GPG 키 암호 저장소를 함께 만든 발신자 및 [email protected] 그만큼 GPG 공개 키 방금 가져온 수신기의

    pass email/[email protected]/smtp | gpg -e -a -u "[email protected]" -r "[email protected]" > password.txt

파일 passwort.txt 암호화된 암호를 포함합니다. 이제 이 파일의 내용을 예를 들어 이메일로 보낼 수 있습니다. 받는 사람은 자신과 함께 이 메시지를 보낼 수 있습니다. 개인 GPG 키 해독:

   gpg -d passwort.txt

오른쪽에있는 거 개인 GPG 키 자동으로 선택되며 명시적으로 지정할 필요가 없습니다. 해독된 암호는 표준 출력에 기록됩니다.

비밀번호 저장소 백업

    pass git pull
    pass git push

원격 암호 저장소의 변경 사항을 로컬 암호 저장소에 적용합니다. 그런 다음 모든 로컬 변경 사항을 원격 컴퓨터의 암호 저장소에 저장합니다.

    pass git log

암호 저장소에 대한 모든 변경 사항을 다음 형식으로 표시합니다.
커밋 메시지 에.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top