2015-02-04 4 views
12

.dat.pgp 파일을 암호 해독하기 위해 암호문으로 사용되는 gpg .key 파일이 있습니다. 내가 다른 서버 xxx_gpg.key에 동일한 키를 이동하고 같은 위의 명령을 실행할 때 암호화 된 .data.pgp 파일이 성공적으로 다음 명령비밀 키 오류없이 gpg 복호화가 실패합니다.

cat xxx_gpg.key | /usr/bin/gpg --batch --quiet -o xxx.dat --passphrase-fd O -d xxx.dat.pgp 

하지만를 사용하여 같은 .KEY 파일을 하나 개의 서버에 해독 도착, 나는 다음과 같은 얻을 오류 -

gpg: decryption failed: No secret key 

편집 :

내가 gpg --list-secret-keys 작동 서버에서 반환 일부 데이터하지만 결과는 다른 서버에 대해 반환되는 것을 찾을 수 있습니다.

우리는 어떻게 구성 할 수있는 비밀 키 비밀 키가 다른 시스템에없는, 그래서 심지어 올바른 암호로는 작동하지 않을 것입니다 (파일에서 읽기)처럼

+0

정확히 동일한 버전의 각 컴퓨터에 gpg가 있습니까? – Xen2050

+0

두 곳 모두에서 동일한 gpg 버전 - 2.0.14 – fortm

+0

hmmm. 분명히'--passphrase-fd'는 "첫 번째 줄"만 읽습니다. 각 시스템에서 똑같은 것처럼 보입니까? 어쩌면 다른 쉘이 변환하거나 파이핑하는 것일까? 그냥 백 슬래시가 읽음으로써 "먹는"경우를 보았습니다 ... – Xen2050

답변

10

보인다.

이 옵션은

  • 에, 작업 중 하나를 열쇠 고리를 복사 (어쩌면 유일한 비밀 열쇠 고리 필요하지만 공공 링 어쨌든 공개) 다른 시스템
  • 에 이상 또는 비밀 키 & 다음 가져 오기를 내 보내야합니다 man gpg에서 다른 컴퓨터에

몇 가지 유용한 찾고 옵션 :

,

--export
중 하나는 모든 열쇠 고리에서 모든 키를 내 보냅니다 (기본 열쇠 고리와 그 옵션 --keyring에 의해 등록), 또는 적어도 하나의 이름이 지정된 이름의, 들을 주어진다면. 새 키 링은 STDOUT 또는 옵션과 함께 제공된 파일 에 기록됩니다. --armor ~ 키와 함께 사용하십시오.

--export-secret-keys
--export과 같지만 대신 비밀 키를 내 보냅니다.

--import
--fast-import
가져 오기/키를 병합합니다. 주어진 키를 키링에 추가합니다. 빠른 버전은 현재 동의어입니다.

어쩌면

--keyring file
는 열쇠 고리의 현재 목록에 파일을 추가합니다. 파일이 틸트로 시작하는 경우 과 슬래시는 $ HOME 디렉토리로 바뀝니다. 파일 에 슬래시가 포함되어 있지 않으면 GnuPG 홈 디렉토리에 있다고 가정합니다 (--homedir 또는 $ GNUPGHOME이 사용되지 않으면 "~/.gnupg").

현재 목록에 키링을 추가합니다.지정된 키링 만 사용하려는 의도가 인 경우 --keyring--no-default-keyring을 함께 사용하십시오.

--secret-keyring file
비밀 키 링용이지만 --keyring과 동일합니다.

+1

짧은 버전 : # 다른 컴퓨터에서 가져 오기 키 : gpg --export $ {ID}> public.key gpg --export-secret-key $ {ID}> private.key #이 파일을 다른 컴퓨터에 복사하십시오. 거기서 gpg --import public.key gpg --import private.key # https://unix.stackexchange.com/questions/184947/how-to-import-secret-gpg-key-copied-from에서 -one-machine-to-another –

+1

위의 내용은 정확하게 내가 시도한 것이며 OP가 게시 한 오류 메시지로 안내합니다. – aioobe

+0

@aioobe 올바른 (비밀) 키가 다른 gpg에 나타나지 않거나 보이지 않아야합니다. 야로 슬라브 니키 텐코의 명령을 시도했다는 뜻입니까? 나는 그것들을 테스트하지는 않았지만'$ ID'가 옳다면 * look * good을 사용합니다. 대신'--output'을 시도해 보았으나 중요하지 않아야합니다. 비밀 키를 내 보낸 다음 가져 오기 *해야합니다. --list-keys (-k 또는 -K)에 표시됩니까? 또는 전체 키링 파일을 복사 한 후'--keyring'을 사용하여 확실히해야합니다 ... gpg-agent가'--passphrase-file'을 사용하기 전에 암호 구문을 읽지 못하는 문제가 있거나'--quiet '&'--b'와'-v'를 사용합니다. – Xen2050

13

아치 리눅스의 gpg CLI에서이 문제가 발생했습니다. 나는 기존의 "gpg-agent"프로세스를 죽일 필요가 있었지만, 모든 것이 정상으로 돌아왔다. (새로운 gpg-agent는 자동으로 시작되었다.

+1

이것은 정확하게 제 문제 였고, 수정되었습니다 - 저는 에이전트없이 gpg를 사용하고 있었고, 이제는 기본적으로 활성화되어 있습니다. 아마도 우분투 17.04에서, 나는 지금 (우발적으로) 달리고있다. :-) 나는 여전히 버그라고 생각한다. – moodboom

+3

macOS에서 저와 같은 문제와 해결책이 있습니다. 이전의 암호 해독은 여하튼 위의 오류를 어떻게 든 생기게했다. – SamHH

+1

놀라운 !!! 내 문제도 고쳐 주셔서 감사합니다. – timothyclifford