我有一些 RNA-seq 文件需要解密。
例如
1672_WTSI-OESO_005_w3.tar.gz.gpg
可能我在同一文件夹中有该密钥
1672_WTSI-OESO_005_w3.gpgkey
我也有一个文件名
1672_WTSI-OESO_005_w3.md5
里面我有
884f9fa72fb7f6adbba95dc677eb0ec9 1672_WTSI-OESO_005_w3.tar.gz.gpg
编辑
[fi1d18@cyan01 fereshteh]$ gpg --decrypt --passphrase-file=1672_WTSI-OESO_036_a_RNA.gpgkey --output - 1672_WTSI-OESO_036_a_RNA.tar.gz.gpg | tar -xvzf -
gpg: CAST5 encrypted data
can't connect to `/home/fi1d18/.gnupg/S.gpg-agent': No such file or directory
gpg: encrypted with 1 passphrase
1672_WTSI-OESO_036_a_RNA/
1672_WTSI-OESO_036_a_RNA/mapped_sample/
1672_WTSI-OESO_036_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-OESO_036_a_RNA.dupmarked.bam.bai
1672_WTSI-OESO_036_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-OESO_036_a_RNA.dupmarked.bam
gpg: WARNING: message was not integrity protected
gzip: stdin: invalid compressed data--crc error
gzip: stdin: invalid compressed data--length error
tar: Skipping to next header
tar: Child returned status 1
tar: Error is not recoverable: exiting now
[fi1d18@cyan01 fereshteh]$
答案1
根据您显示的 GnuPG 输出,该文件是使用 CAST5 算法加密的文件。这是一个对称的加密算法,这意味着您应该能够使用该.gpgkey
文件中的密码来gpg --decrypt
解密它(无需将其导入到您的密钥环中;它不是那种密钥)。
要解密文件并将解密的数据直接传递给tar
解包,您可以使用
gpg --decrypt --passphrase-file=1672_WTSI-OESO_005_w3.gpgkey --output - 1672_WTSI-OESO_005_w3.tar.gz.gpg |
tar -xvzf -
这将从提供的文件中读取密钥,使用该密钥解密消息,并将数据传递到tar
.
如果该文件1672_WTSI-OESO_005_w3.gpgkey
无法解密消息,则您必须与向您提供加密文件的人联系,并向他们询问如何解密该文件的说明。
该.md5
文件用于确保.gpg
文件包含正确的数据。您可以使用它来验证数据,如下所示:
md5sum -c 1672_WTSI-OESO_005_w3.md5
如果这没有给出输出
1672_WTSI-OESO_005_w3.tar.gz.gpg: OK
那么该文件不知何故已损坏,您需要从任何地方获取该文件的新副本。如果显示FAILED
,则gpg
和tar
将无法解密和解包数据。
更新的问题(现已删除)末尾显示的错误是Cannot write: Disk quota exceeded
。这意味着从存档中提取的文件太大,无法容纳分配给您帐户的空间。
要解决此问题,请删除或压缩不再需要的文件,直到有足够的空间来提取存档,或者与系统管理员交谈并让他们为您的帐户分配更多磁盘空间。
答案2
该文件未使用公钥加密,无论如何您都需要私钥才能解密。所以导入密钥对你没有帮助。
它使用密码 (gpg -c ..) 加密,希望密码位于 gpgkey 文件中。
尝试:
hexdump -C 1672_WTSI-OESO_005_w3.gpgkey
您应该在输出中看到(仅)可打印字符。如果是,则使用密钥解密:
gpg -d 1672_WTSI-OESO_005_w3.tar.gz.gpg < 1672_WTSI-OESO_005_w3.gpgkey > 1672_WTSI-OESO_005_w3.tar.gz
这应该创建文件“1672_WTSI-OESO_005_w3.tar.gz”。